我有一些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>'';
}
答案 0 :(得分:1)
不应该是
$_FILES['uploadedfile']['name']
注意大写变量。
答案 1 :(得分:0)
如果您不确定,请使用
var_dump($var);
在这种情况下,
var_dump($_FILES['uploadedfile']);
甚至更好
var_dump($_FILES);
答案 2 :(得分:0)
我发现了什么问题。实际上这是一个幼稚的错误。通过将上传脚本移动到新功能中,我不小心将“multipart / form-data”表单包含在一个简单的表单中。这导致提交按钮被“混淆”并将$ _FILES变量保留为空。
我要感谢发布此主题的人们! 干杯