PHP文件上载tmp_名称不存在

PHP文件上载tmp_名称不存在,php,Php,我正试图上传一个带有文件输入和ajax请求的屏幕截图。这是我的请求代码: var formData= new FormData(); formData.append('pictureFile', fileInput.files[0]); $.ajax({ url: 'data/Upload.php', type: 'POST', processDa

我正试图上传一个带有文件输入和ajax请求的屏幕截图。这是我的请求代码:

  var formData= new FormData();
  formData.append('pictureFile', fileInput.files[0]);
  $.ajax({
                       url: 'data/Upload.php',
                       type: 'POST',
                       processData: false,
                       contentType: false,
                       data: formData,
                       success: function (result) {
                           console.log(result);
                       }
                   });
我的php代码:

$fileName = $_FILES['pictureFile']['tmp_name'];

echo $fileName;

move_uploaded_file($fileName,"dirname");
上传似乎不起作用,但回音显示:

/data/sites/web/hostname/tmp/phplywZbl
当我在发出请求后立即检查此目录时,它是空的

我检查了php.ini文件,文件上传肯定是打开的(最大大小=2M,屏幕截图为25kb)


有人知道怎么回事吗?

这似乎是权限问题。您需要检查文件夹的写入/所有权。请参阅,以了解如何启用警告消息的输出,这些警告消息应有助于诊断。当您将内容回显到客户端时,脚本将停止执行。在上传完成之前不要回显该文件在您检查时不存在,因为它只是该实例的长度,所以它只能在POST请求期间访问。然后它会自我毁灭。这似乎是一个权限问题。您需要检查文件夹的写入/所有权。请参阅,以了解如何启用警告消息的输出,这些警告消息应有助于诊断。当您将内容回显到客户端时,脚本将停止执行。在上传完成之前不要回显该文件在您检查时不存在,因为它只是该实例的长度,所以它只能在POST请求期间访问。然后它就会自我毁灭。