我是一个从文件表单调用的php脚本,它应该检查表单上的密码,文件名,文件类型和错误上传到temp。如果它通过所有测试,它应该使用move_uploaded_file
上传,但这不起作用。没有错误输出,但我知道它通过了所有测试,否则它将返回到页面。
PHP脚本:
<?php
$temp = explode(".", $_FILES["file"]["name"]);
if ($_POST["pass"] == "examplePass"){
if($_FILES["file"]["name"] == ""){
header("Location: /upload?i=f");
}
elseif($_FILES["file"]["type"] != "application/x-shockwave-flash"){
header("Location: /upload?i=s");
}
elseif ($_FILES["file"]["error"] > 0){
header("Location: /upload?i=e");
}
else{
move_uploaded_file($_FILES["file"]["tmp_name"], "/swf/". $_FILES["file"]["name"]);
if(file_exists("/swf/" . $_FILES["file"]["name"])){
header("Location: /upload?i=o");
}
else{
print_r($_FILES);
}
}
}
else{
header("Location: /upload?i=p");
}
?>
输出:
Array ( [file] => Array ( [name] => launcher.swf [type] => application/x-shockwave-flash [tmp_name] => /tmp/phpBugtQL [error] => 0 [size] => 161303 ) )
我用多个swf文件试过这个,我记得它曾经工作过。 我已将整个web文件夹设置为0777,并将其递归到所有子目录和文件中。 目录/ swf /位于root,因此它是绝对路径。 在此先感谢,凯尔
答案 0 :(得分:0)
您可以尝试使用,../swf/
或swf文件夹的完整路径,而不是/swf/
move_uploaded_file($_FILES["file"]["tmp_name"], "../swf/". $_FILES["file"]["name"]);
swf
文件夹路径的原因,请确保您使用了正确的路径