こんにちは私はPHPで複数のファイルをアップロードしていますが、ファイル名に序数の接尾辞を付けたいと思います。 (なぜなら配列の)
$i = 0
からループ開始のための
が、私の ので、私はラインで使用$i + 1
で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
がうまく動作するのですか。