2012-10-09 52 views
0

我试图用这个PHP脚本上传文件(图片),并且出现错误。是的,我知道在这里还有其他问题要求同样的事情,但我没有发现其中任何一个有用。move_uploaded_file()不能在PHP中工作

这里是我的脚本(短版):

//*** FILE IS NAMED 'imageUpload' IN THE INC FOLDER *** 

$image_name = addslashes($_FILES['image']['name']); 
$image_tmpName = $_FILES['image']['tmp_name']; 

$location = "usr/profile/$image_name"; 
move_uploaded_file($image_tmpName,'../img/'.$location); 

这里是我的目录树(国会大厦文件夹,下文件):

1. IMG 
    -USR 
     *PROFILE 
2. INC 
    -imageUpload.php 

是我得到的错误:

Warning: move_uploaded_file(../img/usr/profile/Cheese.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/content/35/9611635/html/chsyearbook/inc/imageUpload.php on line 12 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpuLkkjE' to '../img/usr/profile/Cheese.jpg' in /home/content/35/9611635/html/chsyearbook/inc/imageUpload.php on line 12 

现在,这些错误明确表示该目录不存在,但我向你保证,我看着它是正确的现在。

我认为这可能是PHP.ini文件的问题。如果是这样,这里的php.ini中(为什么不呢,是吧?)

max_execution_time = 60; 
memory_limit = 256M; 
upload_max_filesize = 256M; 
post_max_size = 256M; 
+0

这对'php.ini'不成问题。这可能是一个相对路径的问题。 – Nemoden

回答

3

有该建议使用相对路径在这里没有按预期工作中的作用PHP手册页面上的一些意见。

http://us3.php.net/move_uploaded_file

[编辑]

尝试调用move_uploaded_file前检查与getcwd()功能的工作目录。这应该告诉你相对路径是相对于什么目录。