Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества? Помогите нам с документацией!
0 Пользователей и 1 Гость просматривают эту тему.
<p>Запись в текстовый файл</p><?php$g = $_REQUEST['tt1'];$s = fopen("dd.txt","w+");fwrite($s,$g);fclose($s);?></body></html>
<?php$dir = '/var/www'$file = 'dd.txt'$g = $_REQUEST['tt1'];$s = fopen($dir/$file,"w+");fwrite($s,$g);fclose($s);?>
Код: [Выделить]<?php$dir = '/var/www'$file = 'dd.txt'$g = $_REQUEST['tt1'];$s = fopen($dir/$file,"w+");fwrite($s,$g);fclose($s);?>в каталог $dir должна быть разрешена запись пользователю www-data
Не всегда, логики не понял.
$s = fopen($dir/$file,"w+");
Цитата: shumtest от 22 Февраля 2011, 17:40:25Не всегда, логики не понял. Логика управляется директивой ServerRoot.
Скорее уже DocumentRoot
Это не баш, здесь нужны кавычки
Передаваемые данные никак вообще не проверяются.
Цитата: AnrDaemon от 22 Февраля 2011, 14:58:00Передаваемые данные никак вообще не проверяются.думается тут тупо черновик для теста и проверками потом обрастет. а так да.
<?php echo "Запись в файл<br>";$dir = '/var/www';chmod("/var/www/dd.txt", 0755);$file = 'dd.txt';$g = $_REQUEST['tx1'];echo $g;$s = fopen($dir/$file,"w+") or die ("<br>Не создан");fwrite($s,$g);fclose($s);?>Не получается с записью, пробовал разные варианты.Читал и искал под каким пользователем работает Apache2.2. Точной записи не нашел. кому открывать разрешения или это как-то сделать по другому?
ps aux | grep apache
ls -la /var/www
$s = fopen($dir/$file,"w+")
$s = fopen($dir.'/'.$file,"w+")
if(is_writeable($dir)){ $of=fopen($dir.'/'.$file,'w+'); if($of){ fwrite($of,'test'); fclose($of); } else echo "can't open"; }else echo "can't write";
в таком варианте , если у тебя еще нет файла , а ты ему уже пытаешься изменить права,это раз, во-вторых, апач скорее всего работает от www-data, посмотреть можно Код: [Выделить]ps aux | grep apacheи давай-ка глянем на /var/www какие у него права для апачаКод: [Выделить]ls -la /var/wwwПользователь решил продолжить мысль 01 Марта 2011, 11:50:38:и вообще вот это Цитировать$s = fopen($dir/$file,"w+")Ошибоки я преобрел на форуме. Каюсь не проверил. исправлю. Меня больше интересует система безопасности.почему в разделе пользователи я не вижу www-data, и как с ним работать в графическом режиме?Исправленный апач дает следующие ошибки [Wed Mar 02 21:46:39 2011] [error] [client 127.0.0.1] PHP Warning: chmod(): No such file or directory in /var/www/w.php on line 4, referer: http://localhost/f.php[Wed Mar 02 21:46:39 2011] [error] [client 127.0.0.1] PHP Warning: fopen(/var/www/dd.txt): failed to open stream: Permission denied in /var/www/w.php on line 8, referer: http://localhost/f.phpПользователь решил продолжить мысль 02 Марта 2011, 17:03:05:Устранил все ошибки и получил только одну ошибку[Wed Mar 02 21:52:41 2011] [error] [client 127.0.0.1] PHP Warning: fopen(/var/www/dd.txt): failed to open stream: Permission denied in /var/www/w.php on line 8, referer: http://localhost/f.phpнет прав по созданию файла. вот код:<?phpecho "Запись в файл<br>";$dir = '/var/www';//chmod("/var/www/dd.txt", 0755);$file = 'dd.txt';$g = $_REQUEST['tx1'];echo $g;$s = fopen($dir . '/' . $file,"w+") or die ("<br>Не создан");fwrite($s,$g);fclose($s);?>root@sonapt:~# ps aux | grep apacheroot 947 0.0 1.3 33004 6748 ? Ss 21:02 0:00 /usr/sbin/apache2 -k startwww-data 956 0.0 1.0 33468 5356 ? S 21:02 0:00 /usr/sbin/apache2 -k startwww-data 961 0.0 0.8 33468 4404 ? S 21:02 0:00 /usr/sbin/apache2 -k startwww-data 962 0.0 1.0 33468 5448 ? S 21:02 0:00 /usr/sbin/apache2 -k startwww-data 963 0.0 1.0 33052 5144 ? S 21:02 0:00 /usr/sbin/apache2 -k startwww-data 964 0.0 1.0 33060 5284 ? S 21:02 0:00 /usr/sbin/apache2 -k startwww-data 1549 0.0 1.0 33060 5292 ? S 21:07 0:00 /usr/sbin/apache2 -k startroot 1810 0.0 0.1 5184 764 pts/0 S+ 22:01 0:00 grep --color=auto apacheroot@sonapt:~# ls -la /var/wwwитого 20drwxr-xr-x 2 root root 4096 2011-03-02 21:52 .drwxr-xr-x 15 root root 4096 2011-02-27 22:41 ..-rw-r--r-- 1 root root 211 2011-03-02 21:28 f.php-rw-r--r-- 1 root root 166 2011-03-02 21:29 index.html-rw-r--r-- 1 root root 227 2011-03-02 21:52 w.phproot@sonapt:~#
Permission denied
drwxr-xr-x 15 root root 4096 2011-02-27 22:41 ..
www-data 956 0.0 1.0 33468 5356 ? S 21:02 0:00 /usr/sbin/apache2 -k start
chown www-data /var/www
Страница сгенерирована за 0.05 секунд. Запросов: 25.