繁体   English   中英

如何仅使用PHP上传4张图片

[英]How to Upload 4 images only using PHP

如何仅使用PHP上传4张图片

这是我的代码..此代码是正确的,我可以上传4张图片

但是当我上传1张图片时..我得到了错误!

像这样的错误:未定义的偏移量:第10行的C:\\ wamp \\ www \\ resize \\ uploader.php中的1

未定义的偏移量:第24行的C:\\ wamp \\ www \\ resize \\ uploader.php中为1

未定义的偏移量:第25行的C:\\ wamp \\ www \\ resize \\ uploader.php中的1

未定义的偏移量:第26行的C:\\ wamp \\ www \\ resize \\ uploader.php中为1

未定义的偏移量:第27行的C:\\ wamp \\ www \\ resize \\ uploader.php中为1

未定义的偏移量:第28行的C:\\ wamp \\ www \\ resize \\ uploader.php中为1

<?php

if(isset($_POST['submit']) and $_SERVER['REQUEST_METHOD'] == "POST"){
//foreach ($_FILES['images']['name'] as $loop => $name) {
for ( $loop = 0; $loop <= 1; $loop++ ) {
$files_folder = 'p/'; // files folder

$formats = array("jpg", "JPG", "png", "PNG", "jpeg", "JPEG"); // allowed formats

$temp = explode(".", $_FILES["images"]["name"][$loop]); // temp name

$extension = end($temp); // ext

$file_size_megabyte = '5'; // set the max file size

$calculation = 1048576 * $file_size_megabyte; // convert from byte to megabyte

$max_file_size = $calculation; // result after converted

$rename = substr(str_shuffle(str_repeat("abcdefghijklmnopqrstuvwxyz0123456789", 6)), 6, 6); // rename file

$uploaded = $files_folder.$rename.'.'.$extension; // uploaded file link

if ((($_FILES["images"]["type"][$loop] == "image/jpeg")
|| ($_FILES["images"]["type"][$loop] == "image/jpg")
|| ($_FILES["images"]["type"][$loop] == "image/pjpeg")
|| ($_FILES["images"]["type"][$loop] == "image/x-png")
|| ($_FILES["images"]["type"][$loop] == "image/png"))
&& ($_FILES["images"]["size"][$loop] <= $max_file_size)
&& in_array($extension, $formats)){
move_uploaded_file($_FILES["images"]["tmp_name"][$loop], $uploaded);
echo $uploaded;
}


}

} 

?>

这是解决方案。

HTML形式为:

<form action="" method="post" enctype="multipart/form-data">
<p>Pictures:
<input type="file" name="images[]" />
<input type="file" name="images[]" />
<input type="file" name="images[]" />
<input type="file" name="images[]" />
<input type="submit" value="Send" />
</p>
</form>

PHP代码为:

<?php
foreach ($_FILES["images"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["images"]["tmp_name"][$key];
        $name = $_FILES["images"]["name"][$key];
        move_uploaded_file($tmp_name, "data/$name");
    }
}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM