你好我正在写PHP上传多个文件,我想添加序号后缀到文件名。
但$i = 0
所以我想从1加后缀的文件名(因为数组),我对循环开始不为零的上线使用$i + 1
:$newname = "id".$id."_".date('Y-m-d')."_".$i+1.".".$file_extension;
但它有语法错误
这里我的代码。
$count = count($_FILES["images"]["name"]);
$arr_newname = array();
for($i=0; $i <= $count; $i++){
if ((($_FILES["images"]["type"][$i] == "image/gif")
|| ($_FILES["images"]["type"][$i] == "image/jpeg")
|| ($_FILES["images"]["type"][$i] == "image/png")
|| ($_FILES["images"]["type"][$i] == ""))
&& ($_FILES["images"]["size"][$i] < 9000000)) //9 MB
{
$split = explode(".", $_FILES["images"]["name"][$i]);
$file_extension = end($split);
$newname = "id".$id."_".date('Y-m-d')."_".$i+1.".".$file_extension;
$arr_newname[$i] = $newname;
move_uploaded_file($_FILES["images"]["tmp_name"][$i] , "images/location/".$newname);
}
else{
echo "Invalid file;
}
}
现在,我使用的循环开始从$i=1
解决问题,使用阵列上,而不是$i-1
。但对我来说这是非常难看的代码。
for($i=1; $i <= $count; $i++){
if ((($_FILES["images"]["type"][$i-1] == "image/gif")
|| ($_FILES["images"]["type"][$i-1] == "image/jpeg")
|| ($_FILES["images"]["type"][$i-1] == "image/png")
|| ($_FILES["images"]["type"][$i-1] == ""))
&& ($_FILES["images"]["size"][$i-1] < 9000000)) //9 MB
{
$split = explode(".", $_FILES["images"]["name"][$i-1]);
$file_extension = end($split);
$newname = "id".$id."_".date('Y-m-d')."_".$i.".".$file_extension;
$arr_newname[$i-1] = $newname;
move_uploaded_file($_FILES["images"]["tmp_name"][$i-1] , "images/location/".$newname);
}
else{
echo "Invalid file;
}
}
那么有没有其他方法可以在$ newname文件上使用$i+1
?以及为什么$i-1
在这些阵列上正常工作