php将文件重命名为数组

php将文件重命名为数组,php,function,loops,foreach,Php,Function,Loops,Foreach,下面的多个上载代码将所有文件(图像)重命名为类似56c2ce2498220Array的名称 *请忽略代码中的所有混乱,我不是专家。 if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){ $username = $_POST['user_name']; $today = date('Y-m-d H:i:s'); $pic = $_FILES["image"]["name"]; // Loop $_FILES to exeicute

下面的多个上载代码将所有文件(图像)重命名为类似56c2ce2498220Array的名称
*请忽略代码中的所有混乱,我不是专家。
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
$username = $_POST['user_name'];
$today = date('Y-m-d H:i:s');
$pic = $_FILES["image"]["name"];
// Loop $_FILES to exeicute all files
foreach ($_FILES['image']['name'] as $f => $name) {
    if ($_FILES['image']['error'][$f] == 4) {
        continue; // Skip file if any error found
    }
    if ($_FILES['image']['error'][$f] == 0) {              
        if ($_FILES['image']['size'][$f] > $max_file_size) {
            $msg[] = "$name is too large!.";
            continue; // Skip large files
        }
        elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
            $msg[] = "$name is not a valid format";
            continue; // Skip invalid file formats
        }
        else{ // No error found! Move uploaded files
            $pic = uniqid().$_FILES["image"]["name"];
        if(move_uploaded_file($_FILES["image"]["tmp_name"], $path . $pic));
        //if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))
        // Number of successfully uploaded file
            $query ="insert into `all_tips` (`id_no`,`user_name`,`image`,`status`,`date`) values ('71','$username' ,'$pic','9','$today')";

if(mysql_query($query))      
            {                   
                $msg = "<span style=\"color: green;margin-left:25px;margin-top:25px;\">Image Inserted Successfully...!</span>";
                }
            else        
            {$msg = "Error in insertion.........".mysql_error();    }
        }}}}
?>
if(isset($\u POST)和$\u服务器['REQUEST\u METHOD']==“POST”){
$username=$\u POST['user\u name'];
$today=日期('Y-m-d H:i:s');
$pic=$\u文件[“图像”][“名称”];
//循环$\u文件以执行所有文件
foreach($\u文件['image']['name']作为$f=>$name){
如果($_文件['image']['error'][$f]==4){
继续;//如果发现任何错误,则跳过文件
}
如果($_文件['image']['error'][$f]==0){
如果($\u文件['image']['size'][$f]>$max\u文件大小){
$msg[]=“$name太大!”;
继续;//跳过大文件
}
elseif(!in_数组(pathinfo($name,pathinfo_扩展名),$valid_格式)){
$msg[]=“$name不是有效的格式”;
继续;//跳过无效的文件格式
}
else{//未找到错误!移动上载的文件
$pic=uniqid().$\u文件[“图像”][“名称”];
如果(移动上传的文件($文件[“图像”][“tmp\U名称”],$path.$pic));
//如果(移动上传的文件($文件[“文件”][“tmp\U名称”][$f],$path.$name))
//成功上载的文件数
$query=“插入到'all_tips'('id_no'、'user_name'、'image'、'status'、'date`)值('71'、'$username'、'pic'、'9'、'today');
if(mysql_查询($query))
{                   
$msg=“已成功插入图像…!”;
}
其他的
{$msg=“插入错误……”.mysql_Error();}
}}}}
?>
我希望这些文件被重命名如下:56c2c982de35djoinus2.jpg,即uniqid加上它们的原始名称加上.format 我试过很多组合,但都找不到正确的名字


另外,作为参考:

我认为,在上传时,您正在使用:

[]
将以数组形式提交。 由于您已经在使用foreach,因此
$name
将具有文件名的值


因此,
$pic=uniqid().$name将工作

只是一个提示:情况正好相反——如果你是专业人士,你可以编写这样的代码,因为你很清楚发生了什么。如果你不是专业人士,你应该有好的格式化代码,这样你就有更好的机会看到实际发生的事情。