移动到其他功能时,文件上载脚本不起作用

时间:2011-10-23 00:42:06

标签: php file-upload

我有一些PHP文件上传功能非常好用。出于某种原因,我从我网站的不同位置触发上传功能。这与我用来触发它的功能不同。 HTML工作得很好但是:

$_FILES['uploadedfile']['name']

返回“null”。

可能出现什么问题?

这是代码:

if (isset($_POST['upload'])) {

    $target_path = "uploads/";

    $target_path = $target_path.basename($_FILES['uploadedfile']['name']); 

    if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'],$target_path)) echo "ok";
    else echo "problem";
}

else {
    echo '<form enctype="multipart/form-data" method="POST">';
    echo '<input type="hidden" name="MAX_FILE_SIZE" value="100000" />';
    echo 'Choose a file to upload: <input name="uploadedfile" type="file" /><br />';
    echo '<input type="submit" name="upload" value="Upload File" />';
    echo '</form>'';
}

3 个答案:

答案 0 :(得分:1)

不应该是

$_FILES['uploadedfile']['name']

注意大写变量。

答案 1 :(得分:0)

如果您不确定,请使用

var_dump($var);

在这种情况下,

var_dump($_FILES['uploadedfile']);

甚至更好

var_dump($_FILES);

答案 2 :(得分:0)

我发现了什么问题。实际上这是一个幼稚的错误。通过将上传脚本移动到新功能中,我不小心将“multipart / form-data”表单包含在一个简单的表单中。这导致提交按钮被“混淆”并将$ _FILES变量保留为空。

我要感谢发布此主题的人们! 干杯