move_uploaded_file失败了

时间:2012-04-03 14:44:34

标签: php file-upload permissions

尝试将上传的文件移动到我服务器上的目录时,我一直收到此错误。

  

警告:move_uploaded_file()[function.move-uploaded-file]:无法将'/ tmp / phposlycV'移动到'/home/star/mywebsite.org/view/PDFs/Elections/65.PDF'

这是我的代码。

if ($_FILES['ufile']['type'] == "application/pdf") {
    $db->exec("INSERT INTO `my_candidates` (`Type`, `ElecName`, `ExpDate`, `FirstName`, `LastName`, `State`, `Bio`) VALUES ('$Type', '$ElecName', '$ExpDate', '$FirstName', '$LastName', '$State', '$Bio')");
    $sql2 = "SELECT max( ID ) AS `ID` FROM `my_candidates` WHERE `Type` = '$Type' AND `ElecName` = '$ElecName' AND `FirstName` = '$FirstName' AND `LastName` = '$LastName'";
    $newFileNameID = implode(' ', $db->query($sql2));
    $new_file_name=$newFileNameID.$Ext;
    rename($_FILES['ufile']["tmp_name"], $new_file_name);
    $tempDir = $_SERVER['DOCUMENT_ROOT'] . "/PDFs/Elections/";
    if (move_uploaded_file($_FILES['ufile']['tmp_name'], $tempDir . $new_file_name)) {
        echo "Uploaded";
} else {
    echo "Not Uploaded";
}

我对该目录的chmod是720.我已经敲了几个小时。任何指针,你们可以抛出我的方式将非常感激。有趣的是,虽然它确实上传到我的$_SERVER[DOCUMENT_ROOT]目录但错误仍然存​​在。

1 个答案:

答案 0 :(得分:0)

chmod 720将为所有者提供读取,写入和执行权限,对该组具有写入权限,对其他人不具有任何权限。

如果apache不是目录的所有者,这可能就是它无法正常工作的原因。

目录的当前所有者是谁?您是否尝试使用chown进行更改?