Пытаюсь выполнить файл php через http запрос. Вот он:
<?php
$data = file_get_contents('php://input');
$file_name = $_GET['name'];
$file = fopen($file_name, 'w');
if(substr($file_name, -4)== ".png"){
$file_content = $data;
}
else{
$file_content = iconv("WINDOWS-1251", "UTF-8", $data);
}
fwrite($file, $file_content);
fclose($file);
?>
Проблема в том, что после этой операции никаких файлов не появляется (даже пустых). Но если просто выполнить операцию с записью на сервере через php, то никаких проблем. Что делать? P.S. Использую Apache на Ubuntu 16.04
Как я понимаю ваш скрипт работает. Вполне вероятно юзеру www-data не хватает прав на запись. Простым решением будет дать право на запись в каталог для всех пользователей
sudo chmod 777 -R /путь/к/каталогу записи/
Пытаюсь выполнить файл php через http запрос
при этом скрипт выполняется от имени службы вэб сервера
если просто выполнить операцию с записью на сервере через php, то никаких проблем
при этом скрипт выполняется от имени вашего пользователя.
выводы:
Если это ваш сервер, то лучшим решением будет не давать права всем подряд, а дать права на только доступ группе, с которой работает веб-сервер:
sudo chgrp www-data path/to/dir/
chmod g+rwx path/to/dir/
Ещё лучше будет если ваш веб-сервер будет работать под вашим ID. Такое умеют PHP-FPM и Apache c mpm-itk. В таком случае другие сайты будут выполняться с другими ID, которые не получат доступ к вашему каталогу.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Суть такова, если человек, у которого не установлен в настройках Telegram юзернейм, то есть он пустой, то при заходе в бот после нажатия на кнопку...
я пишу Soap сервер на Php , На сервер приходят запросы вида POST, а потом Soap конверт , Вопрос в том есть ли возможность выводить на страницу входящий...