Php 使dir上传图像在下次上传图像时显示错误
我已经创建了一个php文件,第一个make dir上传图像第二个部分上传图像到它,但下次它再次尝试make dir并给出错误,脚本应该接受created 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
//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);}感谢您解决了这个问题,现在再次打开页面应该显示所有图片,但只显示上传的图像。您能帮我看看您在哪里编写了文件读取代码吗?我认为,如果它只显示上传的图像,那么它可能是对已经存在的文件的权限问题。