我使用的是带有Expressons Web 4,MySql,IE 11和PHP 5.6.5的Windows 8.1系统。 I.m使用以下代码来自教程:
<form action="upload.php" method="post" enctype="multipart/form-data" >
<input type="text" name="testtext" />
<br/>
Select image to upload:
<input type='hidden' name='maxfilesize' value='2000000'/>
<input type="file" name="filename" id="fileToUpload" />
<input type="submit" value="UploadImage" name="submit" />
</form>
并且这会提供upload.php:
<?
echo '$_POST: ';
var_dump($_POST);
echo '<br/> $_FILES: ';
var_dump($_FILES);
echo '<br/> Target_Directory: ';
$target_dir = "../Home/";
echo $target_dir . '<br/>' ;
echo basename($_FILES["filename"]["name"]) . '<br/>';
$target_file = $target_dir . basename($_FILES["filename"]["name"]);
echo $target_file . '<br/>' ;
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
echo $imageFileType . '<br/>' ;
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["filename"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
}
else {
echo "File is not an image.";
$uploadOk = 0;
}
}
无论我尝试上传什么,$ _POST和$ _FILES数组都显示为空。即使是10K .png文件。如果我用type =&#39; file&#39;注释掉输入,$ _POST数组将填充第一个输入的数据。如果我留下它,无论我做什么,两个数组都是空的。
我的php.ini文件具有以下设置:
我经历了另一个例子中的12点检查,但没有看到任何不寻常的事情。我已经审核了至少50个其他建议,并且没有找到任何可以解决此问题的建议。它可能是我忽略的东西,但似乎无法找到它。
与此问题相关的日志文件中未发布任何错误。它们确实有效,因为其中有其他错误。
输出显示两个数组都为空:
$_POST: array(0) { }
$_FILES: array(0) { }
Target_Directory: ../Home/
Notice: Undefined index: filename in C:\Users\EE\My Web Sites\timetubes\Home\upload.php on line 30
Notice: Undefined index: filename in C:\Users\EE\My Web Sites\timetubes\Home\upload.php on line 31 ../Home/
删除了编码类型的输出(enctype =&#34; multipart / form-data&#34;从表单标记中删除,以证明页面确实传递了没有enctype的变量):
$_POST: array(4) { ["testtext"]=> string(4) "test" ["maxfilesize"]=> string(7) "2000000" ["fileToUpload"]=> string(71) "C:\Users\EE\My Web Sites\timetubes\images\skins\medieval\tube-ghost.png" ["submit"]=> string(11) "UploadImage" }
$_FILES: array(0) { }
Target_Directory: ../Home/
Notice: Undefined index: filename in C:\Users\EE\My Web Sites\timetubes\Home\upload.php on line 30
Notice: Undefined index: filename in C:\Users\EE\My Web Sites\timetubes\Home\upload.php on line 31 ../Home/
感谢任何帮助!