move_uploaded_file() returning false


move_uploaded_file() returning false

我最近几个小时一直在上传文件。但总是停留在这一点上。

这是我用于上传的控制器功能

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

一切都很顺利。

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

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

您的$targetPath必须类似于c:'wamp'www'sites'public_html'...