PHP文件上传突然停止工作

时间:2014-01-23 15:11:01

标签: php file-upload

今天早上我的文件上传工作正常,并使用小型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";
    }

2 个答案:

答案 0 :(得分:0)

您必须更改某些内容...因为$ _FILES ['file']应该在您提供的代码中未定义。在文件输入没有HTML格式的名称属性的情况下,大多数浏览器根本不会发送文件。

简单地改变:

<input type="file">

<input type="file" name="file">

答案 1 :(得分:0)

您需要为<input type="file">添加“名称”属性。您为输入提供的名称将是$ _FILES中包含上载文件数据的数组元素的索引。