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

PHP上传脚本在本地工作,但不能在远程服务器上工作,php,upload,mamp,bluehost,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["f

奇怪的是,这个脚本在本地工作(在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>";
    }
}
}
//上传文件
如果(($_文件[“文件”][“类型”]=“图像/gif”)|($_文件[“文件”][“类型”]=“图像/jpeg”)|($_文件[“文件”[“类型”]=“图像/jpg”)|($_文件[“文件”[“类型”]=“图像/pjpeg”)&($_文件[“文件”][“文件”][“大小”]<2000000)和isSet文件($|){
如果($\u文件[“文件”][“错误”]>0){
回显“返回代码:”.$\u文件[“文件”][“错误”]。”;
}否则{
如果(文件存在(“../upload/”$\u文件[“文件”][“名称”])){
echo“$\u文件[“文件”][“名称”]”已存在;
}否则{
移动上传的文件($文件[“文件”][“tmp文件名”],
“./上传/”$_文件[“文件”][“名称]);
}
}
}否则{
如果(($_文件[“文件”][“类型”]=“图像/gif”)| |($_文件[“文件”][“类型”]=“图像/jpeg”)| |($_文件[“文件”][“类型”]=“图像/jpg”)| |($_文件[“文件”[“类型”]=“图像/pjpeg”)){
//回显“无效文件”;
}否则{
如果(isSet($_FILES[“file”][“type”])&&&!isSet($message)){
echo“无效的文件类型。”;
}
}
}
这是上传表格

<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文件时,它工作了。

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

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

但文件夹的所有权是什么?这与权限模式一样重要。服务器日志中是否有任何内容?你能给代码添加一些调试输出,看看发生了什么吗?“它不起作用”不是特别有用的信息……你说的“根本”是什么意思?有错误信息吗?服务器响应代码$_文件数组转储也有助于理解问题。同意David的说法——有错误消息吗?您的相对路径将与PHP脚本的执行路径相关。您确定可以通过服务器上相同的相对路径访问上载文件夹吗?使用绝对路径总是比较安全的,而且有一些神奇的变量可以帮助你达到这一点。很抱歉说得含糊不清。我刚刚进行了双重检查,$\u FILES数据在使用数组转储进行测试时返回为NULL。但是文件夹的所有权是什么?这与权限模式一样重要。服务器日志中是否有任何内容?你能给代码添加一些调试输出,看看发生了什么吗?“它不起作用”不是特别有用的信息……你说的“根本”是什么意思?有错误信息吗?服务器响应代码$_文件数组转储也有助于理解问题。同意David的说法——有错误消息吗?您的相对路径将与PHP脚本的执行路径相关。您确定可以通过服务器上相同的相对路径访问上载文件夹吗?使用绝对路径总是比较安全的,而且有一些神奇的变量可以帮助你达到这一点。很抱歉说得含糊不清。我只是重复检查,$\u文件数据在使用数组转储进行测试时返回为NULL。