Обработка изображений PHP - PullRequest
0 голосов
/ 09 марта 2019

Итак, я создал небольшой скрипт, который позволяет пользователю загружать несколько изображений своего автомобиля.Затем я обрабатываю эти изображения, сохраняю путь к файлу в базе данных и создаю папку для хранения изображений внутри моей папки «vehicleImages».Однако я продолжаю сталкиваться с проблемой, поэтому, как вы можете видеть, я проверяю, существует ли папка, и если нет, то я ее создаю.Затем изображения обрабатываются и теоретически должны храниться в этой папке.

Проблема, с которой я сталкиваюсь, заключается в том, что она создает папку так, как должна, например, XX00VVV.Но вместо того, чтобы хранить изображения внутри «vehcileImages / XX00VVV», он сохраняет изображения внутри «vehicleImages», а не в правильной папке.Я проверил сервер, и папка «XX00VVV» определенно создается, но по какой-то причине изображения не хранятся внутри.Я думаю, что именно здесь я меняю целевой путь, но не могу понять, почему.Может кто-нибудь дать мне несколько советов / подсказок о том, где я ошибся, пожалуйста?

    $imagePath = "../../images/vehicleImages/".$vehicleReg;
$fileName = $vehicleReg; 
if (!file_exists($imagePath)) {
    mkdir($imagePath, 0777, true);
}

//Image Upload Section

$j = 0; //Variable for indexing uploaded image 

    $target_path = $imagePath; //Declaring Path for uploaded images
    for ($i = 0; $i < count($_FILES['file']['name']); $i++) { //loop to get individual element from the array

        $validextensions = array("jpeg", "jpg", "png"); //Extensions which are allowed
        $ext = explode('.', basename($_FILES['file']['name'][$i])); //explode file name from dot(.) 
        $file_extension = end($ext); //store extensions in the variable

        $target_path = $target_path.md5(uniqid()).
        ".".$ext[count($ext) - 1]; //set the target path with a new name of image
        $j = $j + 1; //increment the number of uploaded images according to the files in array       

        if (($_FILES["file"]["size"][$i] < 100000000) //Approx. 100kb files can be uploaded.
            && in_array($file_extension, $validextensions)) {
            if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $target_path)) { //if file moved to uploads folder
                echo $j.
                ').<span id="noerror">Image Uploaded Successfully!.</span><br/><br/>';
            } else { //if file was not moved.
                echo $j.
                ').<span id="error">Please Try Again!.</span><br/><br/>';
            }
        } else { //if file size and file type was incorrect.
            echo $j.
            ').<span id="error">***Invalid File Size or Type***</span><br/><br/>';
        }
    }

//End Image Upload Section

Изображение каталога веб-сайта

1 Ответ

0 голосов
/ 09 марта 2019

, поэтому проблема в первой строке вашего кода $imagePath

$imagePath = "../../images/vehicleImages/".$vehicleReg;

попробуйте добавить ."/" в конец строки как это:

$imagePath = "../../images/vehicleImages/".$vehicleReg."/";

объяснение решения:

когда вы не добавили / в конец пути, вы объединяете его с именем файла, например XX00VVVfilenam.png

...