Php move_uploaded_file:使用其他目录时没有此类文件

Php move_uploaded_file:使用其他目录时没有此类文件,php,file,path,directory,move,Php,File,Path,Directory,Move,我用的是这个,他们用的是: move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']); 如果我在执行此代码的“php”目录中创建一个“uploads”目录,它的工作方式就像一个符咒 如果我尝试这样做: move_uploaded_file($_FILES['file']['tmp_name'], '../img/' . $_FILES['file']['name']); 我收到这

我用的是这个,他们用的是:

move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
如果我在执行此代码的“php”目录中创建一个“uploads”目录,它的工作方式就像一个符咒

如果我尝试这样做:

move_uploaded_file($_FILES['file']['tmp_name'], '../img/' . $_FILES['file']['name']);
我收到这样的警告:

我错过了什么?我也尝试过绝对路径

目录树:

scouter
  -img
  -php
    -uplodas
    -upload.php
“img”目录似乎具有所需的权限选项


编辑0:

如果我将文件放在
上传
目录中,然后使用
重命名()
将文件放在
img
目录中…无法获取发生的情况


编辑_1:

HTML:


编辑2:

服务器响应,来自swidmann的回答:


您在HTML中使用了另一个名称,我不知怎么地怀疑,这以前是否有效,您的HTML:

<input id="input_pic" type='file' name='userFile'/>
我认为您的问题可能是上载大小,请尝试以下方法进行调试:

    var_dump( $_FILES );
    $upload = move_uploaded_file( $_FILES['file']['tmp_name'], dirname( dirname( __FILE__ ) ).'/img/'. $_FILES['file']['name'] );
    var_dump( $upload );
    var_dump( ini_get("upload_max_filesize") );// what is allowed and how big is your picture?
    var_dump( $_FILES['file']['size']  );// if this is 0, maybe your allowed upload size is to low
顺便说一句,我试了一下,效果很好:

dirname( dirname( __FILE__ ) ).'/img/'
要更改允许的上载大小,您必须更改以下选项: 在php.ini中设置
upload_max_filesize
post_max_size

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M
如果一切正常,请尝试绝对路径:

move_uploaded_file( $_FILES['file']['tmp_name'], $_SERVER["DOCUMENT_ROOT"]."/test/scouter/img/".$_FILES['file']['name'] );

>我得到了警告警告文字是什么?请确保
img
目录权限-是否可写?您可以使用
'./img/'$_文件['file']['name']
,一个点而不是两个..:对不起!是的@EkoJunaidiSalam没有任何区别,而警告信息现在只有一个点而不是两个点。:)你还需要另一个
。/
@Fred ii-只是想说声谢谢你为堆栈中的每个人所做的一切。你把这堆东西做得更好。感激之情从未消失。它会上传到
/uploads/
文件夹,但不会上传到
。/img/
所以我不认为这是一个大小问题。图片总是一样的吗?你的表格在哪里,是包括upload.php还是上传到upload.php?嗨,我也不怀疑它的大小,因为Mi-C*说了什么,但我会看看你的答案。请检查我更新的问题中的HTML。@Mi Creative:路径不同,因为我添加了
test
文件夹,该文件夹来自有效的错误消息:
dirname(dirname(\uu文件))。/img/'
bravo!
    var_dump( $_FILES );
    $upload = move_uploaded_file( $_FILES['file']['tmp_name'], dirname( dirname( __FILE__ ) ).'/img/'. $_FILES['file']['name'] );
    var_dump( $upload );
    var_dump( ini_get("upload_max_filesize") );// what is allowed and how big is your picture?
    var_dump( $_FILES['file']['size']  );// if this is 0, maybe your allowed upload size is to low
dirname( dirname( __FILE__ ) ).'/img/'
; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M
move_uploaded_file( $_FILES['file']['tmp_name'], $_SERVER["DOCUMENT_ROOT"]."/test/scouter/img/".$_FILES['file']['name'] );