我有一个简单的HTML表单,因此:
<html>
<head></head>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<input name="filesToUpload" id="filesToUpload" type="file" />
<input type="submit" value="Upload File" />
</form>
</body>
</html>
当用户点击提交时,我希望通过upload_file.php脚本看到结果。但是在Mac上的FF 4.01上,绝对没有任何反应。地址栏中的URL保持不变,并且不会在服务器上调用我的php脚本。如果我将enctype更改为“multipart / form-data”之外的其他内容,或者如果我从“post”更改方法,我可以让它提交表单。
我无法弄清楚正在发生的事情。它是一个FF / Mac的bug,还是我正在做的schtoopid。
FWIW,这是PHP脚本。它几乎逐字逐句地从W3schools PHP upload tutorial:
中偷走了<?php
if ($_FILES["filesToUpload"]["error"] > 0)
{
echo "Error: " . $_FILES["filesToUpload"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["filesToUpload"]["name"] . "<br />";
echo "Type: " . $_FILES["filesToUpload"]["type"] . "<br />";
echo "Size: " . ($_FILES["filesToUpload"]["size"] / 1024) . " Kb<br />";
}
?>
答案 0 :(得分:1)
哦,好吧,我好像已经解决了。我创建了一些虚拟文件来测试我将用来检查文件名有效性的脚本。但我只是通过去终端并做
来创建它们touch testfile.txt testfile2.txt testfile3.txt
所以这些文件都是零字节。这看起来似乎不适用于Mac上的FF。然而,它适用于铬。在PC上,我选择了真正的文件,因为我不知道windows等价于touch命令,所以这就是Firefox在那里工作的原因。