我在 php 中创建了一个上传脚本,它接受一个文件,调整它的大小,并创建一个裁剪的方形缩略图。脚本本身似乎工作正常。
但是,当我尝试通过 Firefox 上传图像时,单击提交按钮时,浏览器会显示加载动画,但它从不调用脚本,它只是停留在当前页面上。如果不上传图像,则可以找到并运行脚本。
我在 safari 中尝试过,但没有遇到同样的问题,我可以从表单上传图像,它会处理它并带我进入正确的页面。
我已经厌倦了从表单中调用一个基本脚本,它只是打印出 $_POST 和 $_FILES,我得到相同的结果,如果存在图像,它不会进入脚本,如果没有图像目前,它运行良好。
我只是想知道是否有人知道发生了什么?
=更新=
好的,所以我仍然遇到这个问题,我似乎认为我已经找到了导致它的原因,但后来我发现了一些完全矛盾的东西。
目前,我注意到我清除了我的Firefox缓存后可以成功上传,但是我只能上传一张图片,然后当我尝试上传另一张时,我不能,它只是在“加载”后重置连接。 ..“ 就一点点。
另外,我注意到我可以按几次 Ctrl+F5 并通过另一个上传。
尽管有一些方法可以解决这个问题,但我不希望有一个表单要求用户在每次需要上传时清除 cookie 或刷新。正如我之前提到的,这个错误不会发生在 IE/Opera/Safari/Chrome 中。
似乎 Firefox 正在存储一些东西,我不确定是什么。任何帮助将不胜感激。
如果它在这里有帮助是我正在使用的代码。
HTML 表单
<form enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST">
<label for="file">Choose a file to upload</label>
<input id="file" name="file" type="file" /><br />
<input type="submit" value="Upload File" name="submit" />
和 PHP:
if (isset($_POST['submit'])) {
echo "Processing...<br/>";
if (isset($_FILES['file']['name'])) {
$file_array = $_FILES['file'];
echo "Uploading...";
upload File($file_array);
echo "...Done";
}
}
回声是让我看看发生了什么。如果它们都没有实际输出。所以由于某种原因,表格没有被提交。这就是为什么它没有进入脚本。我不知道为什么。我没有 CSS 或 JavaScript 错误。
== 更新 ==
好的,我正在尝试更多的东西,但仍然没有运气,HTML、CSS 和 JavaScript 都是有效的。我已经完成了 IIS 重置,我已经重新创建了我的 Firefox 配置文件。现在还是运气。
我又在测试,这次我在加载过程中(连接重置之前)停止了它,然后尝试转到网站的其他页面,并且继续冻结,它仍然会说“正在加载.. .”和“等待本地主机...”。不太确定该怎么做,是我有一些设置吗?但是为什么它不影响其他浏览器呢?
== 更新 ==
正如我在下面提到的,似乎是 AVG Linkscanner/Active surf shield 引起了这个问题,并且有很多报告称其他人也有类似的问题。我从 AVG Free v9.0.733 更新到 v9.0.790,但我仍然遇到同样的问题。我将浏览 AVG 支持论坛,并可能在那里发布一些内容,因为这似乎是一个 AVG 问题。
如果有人有更多见解,请在下面发布。非常感谢:)