我的网站上有多个不同的页面,允许用户将文件上传到服务器。这些通过FormData通过JQuery AJAX上载到php文件,然后对其进行处理并保存。这是使用ajax的示例:
$('#form1').on('submit', function (e) {
e.preventDefault();
$.ajax({
url: 'upload.php',
type: 'post',
data: new FormData($(this)[0]),
cache: false,
contentType: false,
processData: false,
success: function(result) {
$("#result").html(result);
}
});
});
在upload.php中,我有代码检查文件$_FILES["fileToUpload"]["tmp_name"]
是否存在,然后使用move_uploaded_file()
保存它。一段时间以来,它一直运行良好,但是突然之间,我今天走进来,整个站点上的所有文件上传都无法正常工作。当我在upload.php中尝试var_dump($_POST)
和var_dump($_FILES)
时,它们都是空数组,这意味着发布请求实际上并未发送表单数据吗?
我在FireFox和Chrome中都尝试过,结果是相同的。另外,我无权访问apache配置,but phpinfo()
表明我拥有file_uploads: On
,max_file_uploads: 20
,upload_max_filesize: 512M
(比我尝试的文件大得多)上传)和upload_temp_dir: no value
。我想知道这可能是upload_temp_dir
引起问题的原因,但我不知道这是否是以前设置的。
任何想法为什么这可能行不通?