Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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 使dir上传图像在下次上传图像时显示错误_Php_Image_File Upload - Fatal编程技术网

Php 使dir上传图像在下次上传图像时显示错误

Php 使dir上传图像在下次上传图像时显示错误,php,image,file-upload,Php,Image,File Upload,我已经创建了一个php文件,第一个make dir上传图像第二个部分上传图像到它,但下次它再次尝试make dir并给出错误,脚本应该接受created dir并继续上传图像:还要检查脚本是否正确,或者建议更好的脚本上传图像和显示图像 <?php //create the new directory $newDir = mkdir('newupload', 0777); $info_file_exts = array("jpg", "jpeg", "gif", "png"); $info

我已经创建了一个php文件,第一个make dir上传图像第二个部分上传图像到它,但下次它再次尝试make dir并给出错误,脚本应该接受created dir并继续上传图像:还要检查脚本是否正确,或者建议更好的脚本上传图像和显示图像

<?php
//create the new directory
$newDir = mkdir('newupload', 0777);

$info_file_exts = array("jpg", "jpeg", "gif", "png");
$info_upload_exts = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 2000000)
&& in_array($info_upload_exts, $info_file_exts))
{
if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
    $info_file_exts = array("jpg", "jpeg", "gif", "png");
    if($info_file_exts[0]=='jpg'){
    $ink=explode('.'.$info_file_exts[0],$_FILES["file"]["name"]);
    $time=time();
    $info_new_file_name =$ink[0].'_'.$time.'.'.$info_file_exts[0];
    }
    else if($info_file_exts[1]=='jpeg'){
    $ink=explode('.'.$info_file_exts[1],$_FILES["file"]["name"]);
    $time=time();
$info_new_file_name =$ink[0].'_'.$time.'.'.$info_file_exts[0];
    }
    else if($info_file_exts[2]=='gif'){
    $ink=explode('.'.$info_file_exts[2],$_FILES["file"]["name"]);
    $time=time();
    $info_new_file_name =$ink[0].'_'.$time.'.'.$info_file_exts[0];
    }
    else if($info_file_exts[3]=='png'){
    $ink=explode('.'.$info_file_exts[3],$_FILES["file"]["name"]);
    $time=time();
    $info_new_file_name =$ink[0].'_'.$time.'.'.$info_file_exts[0];
    }

    $info_old_file_path="newupload/" . $_FILES["file"]["name"];
    $info_new_file_path="newupload/" . $info_new_file_name;

    move_uploaded_file($_FILES["file"]["tmp_name"],
    "newupload/" . $_FILES["file"]["name"]);
    // echo "<div class='sucess'>"."Stored in: " . "c:\wamp\www\upload/newupload/" . $_FILES["file"]["name"]."</div>";
    $name=rename($info_old_file_path,$info_new_file_path);
    echo "<img src='newupload/" . $info_new_file_name."' style='width:300; height:250px;' />";
    echo "</br>Your file is ".$_FILES['file']['name']."  uploaded.";
    }
    }

    else
    {
    echo "<div class='error'>Invalid file</div>";
    }
    ?>

检查是否设置了目录,然后像下面那样创建目录

if(!is_dir($newDir))
{
  //create the new directory
  $newDir = mkdir('newupload', 0777);
}
只需更换线路

if (!file_exists('newupload')) {
     $newDir = mkdir('newupload', 0777);
}

它将检查文件/文件夹是否存在,它不会再次尝试创建它。

使用if(!is_dir('file path'){mkdir('newupload',0777);}感谢您解决了这个问题,现在再次打开页面应该显示所有图片,但只显示上传的图像。您能帮我看看您在哪里编写了文件读取代码吗?我认为,如果它只显示上传的图像,那么它可能是对已经存在的文件的权限问题。