move_uploaded_file中的错误

时间:2016-04-13 12:43:21

标签: php ajax

我正在尝试上传图片:

$sourcePath = $_FILES['file']['tmp_name'];
$targetPath = "upload/".$_FILES['file']['name'];

move_uploaded_file($sourcePath,$targetPath) ;

但总是会出现这样的错误:

  

警告:move_uploaded_file(上传/ 13709_965665460118582_8676485775333023105_n.jpg):   无法打开流:没有这样的文件或目录   第23行的C:\ xampp \ htdocs \ AjaX \ ajax_php_file.php

     

警告:move_uploaded_file():无法移动   'C:\ xampp \ tmp \ php3C97.tmp'来   'upload / 13709_965665460118582_8676485775333023105_n.jpg'in   第23行的C:\ xampp \ htdocs \ AjaX \ ajax_php_file.php

我该怎么办?

2 个答案:

答案 0 :(得分:0)

确保

  • 文件上传时没有错误(php manual
  • 目标目录存在且可写

答案 1 :(得分:0)

anwser就在你面前:

  

警告:move_uploaded_file(上传/ 13709_965665460118582_8676485775333023105_n.jpg):   无法打开流:没有这样的文件或目录   行上的C:\ xampp \ htdocs \ AjaX \ ajax_php_file.php

警告清楚地说明“没有这样的文件或目录”,这是你的问题,

目录<script location>/upload不存在,您可能要使用$_SERVER['DOCUMENT_ROOT']获取目标位置的绝对文件路径。

通常,DOCUMENT_ROOT值是域的根,作为文件路径字符串,因此$_SERVER['DOCUMENT_ROOT']与文件结构中的位置与http://www.yourwebdomain.com/<here>相同。