Php 为什么赢了';我的上传脚本不工作吗?它在运行时给出一个服务器错误

Php 为什么赢了';我的上传脚本不工作吗?它在运行时给出一个服务器错误,php,upload,Php,Upload,代码是: //在4.1.0之前的PHP版本中,应使用$HTTP\u POST\u文件 //$个文件。 $uploaddir='/var/www/upload/'; $uploadfile=$uploaddir。basename($_文件['Upload'].'name']); 回声'; 如果(移动上传的文件($上传的文件['Upload']['tmp\U名称],$uploadfile)){ echo“文件有效,已成功上载。\n”; }否则{ echo“可能的文件上载攻击!\n”; } echo“

代码是:

//在4.1.0之前的PHP版本中,应使用$HTTP\u POST\u文件
//$个文件。
$uploaddir='/var/www/upload/';
$uploadfile=$uploaddir。basename($_文件['Upload'].'name']);
回声';
如果(移动上传的文件($上传的文件['Upload']['tmp\U名称],$uploadfile)){
echo“文件有效,已成功上载。\n”;
}否则{
echo“可能的文件上载攻击!\n”;
}
echo“这里还有一些调试信息:
”; 打印(美元文件); 回声“
”; 打印(上传文件); 打印“”;
它给出了错误。
我知道这会让它变得非常不安全,我打算撤销它,但我把整个目录设置为一个公共读/写目录,只是为了看看它是否能工作。仍然没有。

第6行您在
$\u文件之间有一个
['upload'].'name']

您应该检查web服务器的错误日志以了解真正的PHP错误。不要使用internet explorer测试网站,或者至少禁用“显示友好的HTTP错误消息”设置。我这样做了。这给了我错误信息:
可能的文件上传攻击!这里还有一些调试信息:数组([upload]=>Array([name]=>bicon.c[type]=>text/plain[tmp_name]=>/tmp/phpZfCLsM[error]=>0[size]=>683))../var/www/upload/bicon.c
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.

$uploaddir = '/var/www/upload/';
$uploadfile = $uploaddir . basename($_FILES['uploaded'].['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['uploaded']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}

echo 'Here is some more debugging info:<br>';
print_r($_FILES);
echo "<br>";
print_r($uploadfile);
print "</pre>";