我无法将图像/文件成功上传到我的服务器。 php如下:
//This is the directory where images will be saved
$uploadDir = "./";
$uploadFile = $uploadDir . basename( $_FILES['photo']['name']);
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $uploadFile)){
echo "The file has been uploaded successfully.";
} else {
print_r($_FILES);
}
我选择了此脚本所在的目录,以确保在上传到最终目录之前的功能。我想上传照片,稍后会检查文件扩展名 - 但是现在我至少需要上传功能才能正常工作。
表格如下:
<form id="imageUploadForm" name="imageForm" enctype="multipart/form-data" action="imageController.php" method="post">
<label for="photo" class="blogLabel">Upload an Image</label>
<input type="file" name="photo" id="imageUpload">
<input type="submit" name="submit" id="imageSubmit" class="btn btn-primary" value="Upload">
</form>
print_r($_FILES)
返回:Array ( [photo] => Array ( [name] => imgres.jpeg [type] => image/jpeg [tmp_name] => /tmp/php1rqFUO [error] => 0 [size] => 15147 ) )
答案 0 :(得分:0)
PHP没有写入该目录的权限。如果您正在处理LAMP堆栈,则需要授予全局对该目录的写入权限。从命令行开始,这是:
chmod -R 777 path/to/dir
小心!实际上,您应该使用与脚本所在目录不同的目录。选择一个无法执行脚本的目录,以便有人不会将脚本上传到您的站点,然后通过对服务器的完全访问权限来执行它!