首页 > 解决方案 > PHP 错误提示我无法上传图片 move_upload_file

问题描述

我正在一个销售汽车的 PHP 网站上工作。当用户想要出售他的汽车时,他需要添加图像。当我尝试这样做时,会发生以下错误:警告:move_uploaded_file(C:/xampp/htdocs/carMela/mainSite/assets/image/4-BMW-E90AC-Kit-by-Xclusive-Customz-Sheffield_16959173929_l.jpg):无法打开流:第 165 行的 C:\xampp\htdocs\cars\class\userPost\userpost.php 中没有这样的文件或目录

警告:move_uploaded_file():无法将 'C:\xampp\tmp\phpCEDC.tmp' 移动到 'C:/xampp/htdocs/carMela/mainSite/assets/image/4-BMW-E90AC-Kit-by-Xclusive- C:\xampp\htdocs\cars\class\userPost\userpost.php 中的 Customz-Sheffield_16959173929_l.jpg' 第 165 行 抱歉,上传文件时出现问题。

那行是:

if(move_uploaded_file($_FILES['car_image']['tmp_name'], $target))

这是我的图片上传代码:

/*this function for image uploaded */
public function save_image_info(){

    $image_extensions_allowed = array("gif", "jpeg", "jpg", "png");
    $file_name = $_FILES["car_image"]["name"];
    $ext = strtolower(substr(strrchr($file_name, "."), 1));
    $directory = $this->uploadFilePath.'mainSite/assets/image/';
    $target = $directory . basename( $file_name) ;
    $image_name     = basename($file_name);
    $new_img_url    = $image_name;
    $image_size = $_FILES['car_image']['size'];

    if (!empty($_FILES)) {
        if ($image_size > 5000000) {
            die('File size is too large! Please upload Small file.');
        } elseif(!in_array($ext, $image_extensions_allowed)) {
            die("You must upload a file with one of the following extensions: ".$ext);
        }
        else{
            //Now upload here
            if(move_uploaded_file($_FILES['car_image']['tmp_name'], $target))
            {
                return $new_img_url;
            }
            else {
                die('Sorry, there was a problem uploading your file.');
            }
        }
    } else {
        die('The file you Upload is not an image! Please upload a Valid Image.');
    }
}

标签: php

解决方案


我的路不对,

$this->uploadFilePath = $_SERVER["DOCUMENT_ROOT"].'/cars/';

就是这样,所以我改变了它,它起作用了,谢谢你的帮助


推荐阅读