PHP上载脚本在本地工作,但不在远程服务器上

时间:2012-05-14 17:17:16

标签: php upload mamp bluehost

奇怪的是,这个脚本在本地(在MAMP上)工作,但不在我的远程服务器(Bluehost)上。我尝试添加一些POST数据,这很有效,但文件上传根本不起作用。有什么想法吗?

//upload file
if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 2000000) && isSet($_FILES["file"])){
if ($_FILES["file"]["error"] > 0){
    echo "<div class='error'>Return Code: " . $_FILES["file"]["error"] . "</div>";
}else{
    if (file_exists("../upload/" . $_FILES["file"]["name"])){
        echo "<div class='error'>" . $_FILES["file"]["name"] . " already exists. </div>";
    }else{
        move_uploaded_file($_FILES["file"]["tmp_name"],
        "../upload/" . $_FILES["file"]["name"]);
    }
}
}else{
if((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg"))){
    //echo "<div class='error'>Invalid file</div>";
}else{
    if(isSet($_FILES["file"]["type"]) && !isSet($message)){
        echo "<div class='error'>Invalid file type.</div>";
    }
}
}

这是上传表单。

<form action="index.php" method="post" enctype="multipart/form-data">
            <div>
                <input type="file" name="file" id="file" />
                <input type="submit" id="submit" value="Submit" />
            </div>
        </form>

上传文件夹的权限设置为“775”。

我很感激任何帮助/想法。

更新

问题解决了。这是一个php.ini问题。我不确定问题究竟在哪里。但是,当我恢复默认的php.ini时,文件就可以了。

1 个答案:

答案 0 :(得分:0)

我认为问题在于服务器中upoading文件夹的读写执行权限。确保目标文件夹具有读写 - 执行(777)权限。