我正在上传多个文件。
主要功能正常,但我必须更改上传文件的名称,如:
name1.jpg
,name2.jps
,name3.jpg
,...
$i = 1;
if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/name'.$i++.'.'.$extension)){
echo '{"status":"success"}';
exit;
}
数字$i
应随着上传文件的数量而增长。
我希望能正确解释。
答案 0 :(得分:8)
正如@Ghost在评论中所说,你需要一个循环:
if(isset($_FILES['files'])){
$name_array = $_FILES['files']['name'];
$tmp_name_array = $_FILES['files']['tmp_name'];
// Number of files
$count_tmp_name_array = count($tmp_name_array);
// We define the static final name for uploaded files (in the loop we will add an number to the end)
$static_final_name = "name";
for($i = 0; $i < $count_tmp_name_array; $i++){
// Get extension of current file
$extension = pathinfo($name_array[$i] , PATHINFO_EXTENSION);
// Pay attention to $static_final_name
if(move_uploaded_file($tmp_name_array[$i], "uploads/".$static_final_name.$i.".".$extension)){
echo $name_array[$i]." upload is complete<br>";
} else {
echo "move_uploaded_file function failed for ".$name_array[$i]."<br>";
}
}
}