今天早上我的文件上传工作正常,并使用小型csv文件进行了几次测试上传,但是当我进行另一次测试时,它已停止工作。
$ _FILES ['file']的var_dump为NULL,并尝试if($ _ FILES)不产生任何内容。 没有人使用我的服务器所以我知道没有任何改变。 这是我的表格发布到同一页面。
<form method="post" enctype="multipart/form-data" style="border:1px solid #999">
<input type="file">
<input type="hidden" name="customerID" value="<?=$_GET['customerID']?>">
<input type="submit" value="Import">
</form>
Php处理程序:
if($_FILES)
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
$path = "files/".$_POST['customerID']."/";
echo $path."<br>";
if(!file_exists($path)) mkdir($path);
$path = $path.basename($_FILES['file']['name']);
echo $path."<br>".$_FILES['file']['tmp_name']."<br>";
if(is_uploaded_file($_FILES['file']['tmp_name']))
{
if(move_uploaded_file($_FILES['file']['tmp_name'], $path)) echo "Upload success";
else echo "Upload failed";
}
else echo "No temp file";
}
答案 0 :(得分:0)
您必须更改某些内容...因为$ _FILES ['file']应该在您提供的代码中未定义。在文件输入没有HTML格式的名称属性的情况下,大多数浏览器根本不会发送文件。
简单地改变:
<input type="file">
到
<input type="file" name="file">
答案 1 :(得分:0)
您需要为<input type="file">
添加“名称”属性。您为输入提供的名称将是$ _FILES中包含上载文件数据的数组元素的索引。