Как переместить загружаемый файл в папку?

есть php функция, которая должна переместить изображения в папку postsImages, папка postsImages находится по пути project/media/postImages, проблема заключается в том, что эта функция перемещает файлы в папку project/media, скрипт php находится по пути project/scripts/addPost/addPostHandler.php


    function savePhotos($photos)
    {
        foreach ($photos as $photo) {
            $fileName = time() . rand() . $photo['name'];
            $fileTmp = $photo['tmp_name'];
            // var_dump($photo);
    
            $uploadFolder = '../../media/postsImages';
    
            $moveFile = move_uploaded_file($fileTmp, $uploadFolder . $fileName);
    
            if ($moveFile) {
                echo 'photo uploaded successful';
            } else {
                echo 'error';
            }
     }


Ответы (2 шт):

Автор решения: Red

не уверен, но кажеться дело в том что при склейке дериктории и названия файла, ент слеша... поэтому путь определяется криво.

$uploadFolder = '../../media/postsImages';

замените на

$uploadFolder = '../../media/postsImages/';
→ Ссылка
Автор решения: SKAJIbnEJIb

Я бы советовал указывать полный путь, заюзав переменную $_SERVER['DOCUMENT_ROOT'], если конечно структура позволяет, но обычно позволяет и нет проблем с относительными путями

$uploadFolder = $_SERVER['DOCUMENT_ROOT'].'/media/postsImages';
→ Ссылка