我在第一页上运行此表单:
<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的开发服务器上运行
答案 0 :(得分:0)
在尝试输出$ _FILES的内容后,我意识到我的表单正在提交(网址正在更改),但内容没有重新加载。我仍然可以看到第一页的整个html + ressources内容。但是我将其他页面的输出作为firebug中POST请求的响应,就像您进行AJAX调用一样。
我真的很想知道我为整个网站改变了什么让我发疯。
然后我意识到我昨晚在移动小部件上添加了jquery mobile用于测试目的并删除它修复了我的所有问题。
我猜Jquery Mobile正在用一些自定义元素替换我的输入文件。