Не удаётся загрузить файлы на хостинг

Возникла проблема - я делаю проект, на котором реализовал загрузку на сервер картинок. Делаю это с помощью следующего PHP-кода:

$image_name = stripslashes($_FILES['upload'.$i]['name']);
$newname = $_SERVER['DOCUMENT_ROOT']."/school-hub/img-lib/".$image_name;
$copied = copy($_FILES['upload'.$i]['tmp_name'], $newname);

На локальном сервере всё работает идеально, но как только я заливаю проект на хостинг, меня благополучно посылают сообщением об ошибке:

Warning: copy(/home/vhosts/school-hub.coolpage.biz/school-hub/img-lib/image.jpg): failed to open stream: Permission denied in /home/vhosts/school-hub.coolpage.biz/school-hub/savetask.php on line 19

Насколько я понял, хостинг не разрешает мне загружать на него файлы. Возможно ли как-нибудь обойти это ограничение или реализовать загрузку по-другому? Может быть можно как-то выдать права доступа? Я с хостингами на "Вы", так что жду помощи.

Всем заранее спасибо!


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

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

Если есть доступ по ssh, то установить права на папку для картинок - chmod 777 school-hub/img-lib. Если нет ssh, то можно попробовать сделать то же самое через FTP клиент. Вот, пример (найден в гугле наугад).

Если нет ssh доступа и нет возможности установить владельца и права на папку, то остаётся только загружать картинки по ftp прямо из php.

Т.е. вместо copy использовать ftp_put, предварительно установов соединение. См. тут - https://www.php.net/manual/en/ref.ftp.php

→ Ссылка