2012-08-02 81 views
0

可能重复:
Image uploading via PHP returning empty arrayPHP - 图片上传不工作

我不能成功上传图片/文件到我的服务器。在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))

+1

你会得到什么错误?你有没有在你的目录上设置适当的权限? – 2012-08-02 21:23:30

+0

这个问题与您几分钟前打开的同一个问题有何不同? http://stackoverflow.com/questions/11785726/image-uploading-via-php-returning-empty-array – j08691 2012-08-02 21:23:43

+0

它是一样的,减去一些错误。另一个人想让我开个新问题,而不是编辑我的原创......所以我做了。 – mdance 2012-08-02 21:24:18

回答

0

PHP没有权限写入到该目录。如果您正在使用LAMP堆栈,则需要向该世界写入对该目录的访问权限。从命令行这是:

chmod -R 777 path/to/dir 

小心!实际上应该使用与脚本所在目录不同的目录。选择一个无法执行脚本的目录,以便某人不会将脚本上传到您的站点,然后通过完全访问您的服务器来执行脚本!