Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php图片上传_Php - Fatal编程技术网

Php图片上传

Php图片上传,php,Php,我是PHP新手,目前正在开发图片上传功能,我有一个表单,你可以上传图片,现在图片没有必要上传,问题是下面的代码不允许提交没有图片的表单 这是我的密码 $photoCount = count($_FILES['photo']['name'] ); if($photoCount > 0) { for($i = 0;$i<$photoCount;$i++) { $name = $_FILES['photo']['name'][$i]; $name

我是PHP新手,目前正在开发图片上传功能,我有一个表单,你可以上传图片,现在图片没有必要上传,问题是下面的代码不允许提交没有图片的表单 这是我的密码

$photoCount = count($_FILES['photo']['name'] ); 
if($photoCount > 0)  {
    for($i = 0;$i<$photoCount;$i++) {
        $name = $_FILES['photo']['name'][$i];
        $nameArray = explode('.', $name);
        $fileName = $nameArray[0];
        $fileExt = $nameArray[1];
        $mime = explode('/', $_FILES['photo']['type'][$i]);
        $mimeType = $mime[0];
        $mimeExt = $mime[1];
        $tmpLoc[] = $_FILES['photo']['tmp_name'][$i];
        $fileSize = $_FILES['photo']['size'][$i];
        $uploadName = $name;
        $uploadPath[] = BASEURL.'/admin/productimages/'.$uploadName;
        if ($i != 0) {
            $dbpath .= ',';
        }
        $dbpath .= '/project/admin/productimages/'.$uploadName;

        if($mimeType != 'image') {
            $errors[] .= 'The file must be an image.';
        }

        if(!in_array($fileExt, $allowed)) {
            $errors[] .= 'The file extension must be a png, jpg, jpeg, or gif.';
        }

        if($fileSize > 15000000) {
            $errors[] .= 'The file size must be under 15 megabytes.';
        }
        if ($fileExt != $mimeExt && ($mimeExt == 'jpeg' && $fileExt != 'jpg')) {
            $errors[] = 'File extension does not match the file';
        }
    }
}
我的错误

Notice: Undefined offset: 1 in C:\xampp\htdocs\project\admin\products.php on line 99

Notice: Undefined offset: 1 in C:\xampp\htdocs\project\admin\products.php on line 102
这是第99行和第102行

$fileExt = $nameArray[1];

$mimeExt = $mime[1];

问题是数组索引错误

在您的代码中,
$name
是一个空字符串(对于您转储的结果),因此
explode('.',$name)
将返回类似于此数组的数组
[“”]
。数组长度为1,当use
$nameArray[1]
超出长度时,将得到错误

第二个错误与第一个错误相同


我认为您应该首先检查
$name
是否为空

在处理名称之前,请检查错误

if ($_FILES['photo']['error'][$i] > 0) {
    echo 'Didn\'t work';
} else {
    // Process the file
}

在这种情况下,错误设置为“4”(上载错误文件)。存在一系列错误,如果存在错误,则文件将不存在,并且无法处理。因此,请先检查。

当您尝试在没有图片的情况下提交时,会出现哪些错误?一定有一些,这将是一个错误的迹象。@jonmrich我更新了一个问题,包括一个错误,我收到了请看一看谢谢你工作得很有魅力,你是一个超级明星
if ($_FILES['photo']['error'][$i] > 0) {
    echo 'Didn\'t work';
} else {
    // Process the file
}