Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 移动上传的文件()是';t上传文件_Php_Upload - Fatal编程技术网

Php 移动上传的文件()是';t上传文件

Php 移动上传的文件()是';t上传文件,php,upload,Php,Upload,我从文件表单中调用了一个php脚本,它应该检查表单的密码、文件名、文件类型以及上传到temp的错误。如果它通过了所有测试,它应该使用move\u upload\u file上传,但这不起作用。没有输出错误,但我知道它通过了所有测试,否则它将返回页面。 PHP脚本: <?php $temp = explode(".", $_FILES["file"]["name"]); if ($_POST["pass"] == "examplePass"){ if($_FILES["file"][

我从文件表单中调用了一个php脚本,它应该检查表单的密码、文件名、文件类型以及上传到temp的错误。如果它通过了所有测试,它应该使用
move\u upload\u 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");
}
?>
我用多个swf文件尝试过这个方法,我记得它曾经工作过。 我已将整个web文件夹设置为0777,并将其递归到所有子目录和文件中。 目录/swf/位于根目录,因此这是绝对路径。
提前感谢,Kyle

您可以尝试使用、
./swf/
或swf文件夹的完整路径,而不是
/swf/

 move_uploaded_file($_FILES["file"]["tmp_name"], "../swf/". $_FILES["file"]["name"]);

swf
文件夹路径的原因,请确保使用了正确的路径

您的表单是否使用编码多部分/表单数据?尝试打开文件处理程序并在目录中写入文件。move_uploaded_file的返回值是多少?出于调试目的,您是否尝试过
move_uploaded_file
到与脚本相同的目录?是的,我的编码是正确的,我会尝试上传到相同的目录,这意味着什么?就像我说的,swf在我的web服务器的根文件夹中,因此从web到它的完整路径是:serverurl/swf/我尝试将我的php脚本放在根文件夹中,它工作了,然后当我将其移回时,它又工作了:/谢谢
 move_uploaded_file($_FILES["file"]["tmp_name"], "../swf/". $_FILES["file"]["name"]);