Здравствуйте!
Пишу авторизацию через Google и появилась необходимость загрузить аватарку пользователя к себе на сервер.
Гугл присылаем мне ответ, в котором есть ссылка на аватарку:
"picture": "https://lh6.googleusercontent.com/-sdKkMmClA5M/BABBBBBBDI/AAAAABAAAQg/4SjnUI7UOsQ/s96-c/photo.jpg"
Я загружаю ее след. образом
$picture = $token_info['picture'];
$sourcecode=GetImageFromUrl($picture);
$savefile = fopen('/var/www/html/uploads/avatars/image.jpg', 'w');
fwrite($savefile, $sourcecode);
fclose($savefile);
function GetImageFromUrl($link) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch,CURLOPT_URL,$link);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
return $result;
}
При загрузке происходит ошибка, в логах :
fopen(): failed to open stream: Permission denied
Видимо проблемы с правами доступа к папке куда скачиваю файл. Почитал
эту статью и добавил пользователя www-data в свою групп, которой назначил права:
sudo usermod -a -G user_main www-data
sudo chmod -R 750 /var/www/html/uploads/avatars/
Но после этого сервер теперь выдает ошибку 403:
You don't have permission to access /upload_avatar on this server.
Посоветуйте как правильно осуществлять загрузку файлов на свой сервер. Может есть статейка или пример?