我使用XAMPP在本地计算机上运行我的测试php项目。我有一个表单,用户可以从他们的计算机浏览图像并上传到我的数据库。
我使用move_uploaded_file()
功能将图像移动到所需的文件夹。该脚本运行时没有错误,但没有图像移动到所需的文件夹。如果move_uploaded_file()
失败,它不会回显错误消息。这是我的代码:
$upload_dir= 'uploads';
for($i=0; $i < count($_FILES['file']['tmp_name']);$i++){
if(!empty($_FILES['file']['name'][$i])){
$temp = explode(".", $_FILES["file"]["name"][$i]);
$extension = end($temp);
$allowedExts = array("gif", "jpeg", "jpg", "png");
if(!in_array($extension, $allowedExts)){
echo "Only image ending with .jpg, .jpeg, .gif, .png is allowed";
}
// copy the file to the specified dir
else{
$name[$i] = sha1(microtime()) . "." . $extension;
if(move_uploaded_file($_FILES['file']['tmp_name'][$i],$upload_dir.'/'.$name[$i])){
$image_path_array[$i]=$upload_dir.'/'.$name[$i];
}
else{
/*** an error message ***/
echo "error with move_uploaded_file";
}
}
}
}
答案 0 :(得分:0)
你的echo语句都不可能以这种方式工作。它应该是
echo "error with move_uploaded_file";
否&#34; =&#34;登录。
此外,您确定您的网络服务器是否有权写入上传目录?
答案 1 :(得分:0)
试试这个:
1)我认为您应该提供 $ upload_dir 变量的完整目录路径,如下所示:
$upload_dir=$_SERVER['DOCUMENT_ROOT']."/uploads";
2)是的,您为显示“move_uploaded_file错误”所给出的回声需要更正其他方面它会给出语法错误:
//an error message
echo "error with move_uploaded_file";
我希望这能解决您的问题:)
答案 2 :(得分:-2)
您应该为服务器上的图像和客户端计算机上的图像分别设置move_uploaded_files()函数。