PHP $ _FILES数组突然空了

时间:2014-06-10 15:08:27

标签: php upload centos6

我在第一页上运行此表单:

<form class="frmFrameSubmit" name="frmFrameSubmit" action="checkout.php" method="post"  enctype="multipart/form-data">
    <input  type="file" name="inpUploadFile" class="inpUploadFile" style="display:none;" accept="image/x-png, image/gif, image/jpeg">
    <input name="inpFrameWidth" class="inpFrameWidth" type="hidden" value="0">
    <input name="inpFrameHeight" class="inpFrameHeight" type="hidden" value="0">
</form>

这个php代码在另一页上运行:

if(isset( $_POST['inpFrameWidth'] )) {

    $aExtraInfo = getimagesize($_FILES["inpUploadFile"]["tmp_name"]);
    $sImage = "data:" . $aExtraInfo["mime"] . ";base64," . base64_encode(file_get_contents($_FILES["inpUploadFile"]["tmp_name"]));

***********************************
rest of the code
***********************************

}
else{
    header('Location: index.php');
    exit(1);
}

它已经工作了几个星期,突然间,我在php错误日志中收到此错误:

[10-Jun-2014 10:38:48] PHP Notice:  Undefined index: inpUploadFile in checkout.php on line6

我尝试了什么:

  • 验证file_uploads,post_max_size,upload_max_filesize但它们仍然处于良好的值

  • 清除tmp文件; $ sudo rm -rf / tmp / *

这是在带有centos6的开发服务器上运行

1 个答案:

答案 0 :(得分:0)

在尝试输出$ _FILES的内容后,我意识到我的表单正在提交(网址正在更改),但内容没有重新加载。我仍然可以看到第一页的整个html + ressources内容。但是我将其他页面的输出作为firebug中POST请求的响应,就像您进行AJAX调用一样。

我真的很想知道我为整个网站改变了什么让我发疯。

然后我意识到我昨晚在移动小部件上添加了jquery mobile用于测试目的并删除它修复了我的所有问题。

我猜Jquery Mobile正在用一些自定义元素替换我的输入文件。