move_uploaded_file()返回false

时间:2013-11-15 22:40:12

标签: php windows wamp

我上传了几个小时的文件。但总是陷入困境。

这是我的上传控制器功能

function upload()
{
    echo $targetPath = site_url('/uploads'); 
    echo "<br />";
    $allowedExts = array("gif", "jpeg", "jpg", "png");
    $temp = explode(".", $_FILES["file"]["name"]);
    $extension = end($temp);
    echo $_FILES["file"]["type"];
    if (!(($_FILES["file"]["type"] == "image/gif")
    || ($_FILES["file"]["type"] == "image/jpeg")
    || ($_FILES["file"]["type"] == "image/jpg")
    || ($_FILES["file"]["type"] == "image/pjpeg")
    || ($_FILES["file"]["type"] == "image/x-png")
    || ($_FILES["file"]["type"] == "image/png")))
    {
        echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
        echo "Upload: " . $_FILES["file"]["name"] . "<br>";
        echo "Type: " . $_FILES["file"]["type"] . "<br>";
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
        echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

        if (file_exists($targetPath.'/'.$_FILES["file"]["name"]))
        {
            echo $_FILES["file"]["name"] . " already exists. ";
        }
        else
        {
            if(move_uploaded_file($_FILES["file"]["tmp_name"],$targetPath.'/'. $_FILES["file"]["name"]))
            {
                echo "Stored in: " .$targetPath.'/' . $_FILES["file"]["name"];
            }
            else
            {
                echo "not uploaded";
            }
        }
    }

,这是输出:

http://localhost/sites/public_html/site/uploads 
image/jpegUpload: 1468716_668135866543165_1899878158_n.jpg
Type: image/jpeg
Size: 57.09375 kB
Temp file: C:\wamp\tmp\phpC390.tmp
not uploaded

一切都很顺利。

但它只是没有在所需位置上传。可能有什么问题?

1 个答案:

答案 0 :(得分:4)

您不能move_uploaded_file到HTTP目的地;它必须是本地文件系统路径。

您的$targetPath必须与c:\wamp\www\sites\public_html\...类似。