PHP 允许空字段的多文件上传
PHP multiple file upload that allows empty fields
我正在学习文件上传和PHP,如果我不能正确描述自己,请见谅。
我正在尝试创建一个最多可上传 5 张图片的表单。我的问题是不需要第 4 或第 5 个图像的逻辑运算符。目前如果我上传 4 张图片,程序会在第 3 张图片停止上传。
if ((move_uploaded_file($_FILES["image1"]["tmp_name"], $target_file.".".$image1FileType)
&& move_uploaded_file($_FILES["image2"]["tmp_name"], $target_file2.".".$image2FileType)
&& move_uploaded_file($_FILES["image3"]["tmp_name"], $target_file3.".".$image3FileType))
|| move_uploaded_file($_FILES["image4"]["tmp_name"], $target_file4.".".$image4FileType)
|| move_uploaded_file($_FILES["image5"]["tmp_name"], $target_file5.".".$image5FileType)
)
你不应该这样上传你的文件。相反,用 for
或 foreach
循环遍历它们,如果它们不为空,则一个一个地上传它们。
foreach($_FILES as $file) {
if (!isset($file['tmp_name'])) {
// File is empty so continue with the next file
continue;
}
$nameArray = explode('.', $file['name']);
$type = end($nameArray);
$target_file = 'You name it how you want it';
if (!move_uploaded_file($file['tmp_name'], $target_file . '.' . $type)) {
echo 'File ' . $file['name'] . ' couldn\'t be uploaded<br>';
}
}
我正在学习文件上传和PHP,如果我不能正确描述自己,请见谅。
我正在尝试创建一个最多可上传 5 张图片的表单。我的问题是不需要第 4 或第 5 个图像的逻辑运算符。目前如果我上传 4 张图片,程序会在第 3 张图片停止上传。
if ((move_uploaded_file($_FILES["image1"]["tmp_name"], $target_file.".".$image1FileType)
&& move_uploaded_file($_FILES["image2"]["tmp_name"], $target_file2.".".$image2FileType)
&& move_uploaded_file($_FILES["image3"]["tmp_name"], $target_file3.".".$image3FileType))
|| move_uploaded_file($_FILES["image4"]["tmp_name"], $target_file4.".".$image4FileType)
|| move_uploaded_file($_FILES["image5"]["tmp_name"], $target_file5.".".$image5FileType)
)
你不应该这样上传你的文件。相反,用 for
或 foreach
循环遍历它们,如果它们不为空,则一个一个地上传它们。
foreach($_FILES as $file) {
if (!isset($file['tmp_name'])) {
// File is empty so continue with the next file
continue;
}
$nameArray = explode('.', $file['name']);
$type = end($nameArray);
$target_file = 'You name it how you want it';
if (!move_uploaded_file($file['tmp_name'], $target_file . '.' . $type)) {
echo 'File ' . $file['name'] . ' couldn\'t be uploaded<br>';
}
}