Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: открытие файла на запись

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: выдает ошибку в fopen
LIME
Отправлено: 08 Февраля, 2011 - 23:17:49
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




подскажите пжлст
только пересел на линух
вот участок с ошибкой
36ая строка тут первая
PHP:
скопировать код в буфер обмена
  1. $file=fopen('/base.txt','a');
  2.               fputs($file,$number."\n") ;
  3.               fclose($file);

выдает
Warning: fopen(/base.txt) [function.fopen]: failed to open stream: Permission denied in /home/den/www/htdocs/index.php on line 36
запускаю под рутом значит дело не в правах надо полагать?
но запускается скрипт из папки пользователя
и еще вопрос: я правильно добавил конец строки? насколько я знаю в линухе это \n ?
спасибо
 
 Top
Okula
Отправлено: 08 Февраля, 2011 - 23:31:52
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Проверь путь до файла. Да, перенос строки правельный, так же можно указывать его и через константу PHP_EOL
 
 Top
Мелкий Супермодератор
Отправлено: 09 Февраля, 2011 - 10:24:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




LIME пишет:
запускаю под рутом значит дело не в правах надо полагать?

смотря как запускаете.


-----
PostgreSQL DBA
 
 Top
Andruxa
Отправлено: 09 Февраля, 2011 - 11:12:16
Post Id



Частый гость


Покинул форум
Сообщений всего: 140
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




Если файл base.txt в том же каталоге что и скрипт, то зачем "/" ?
Без него попробовал, все записывается.
 
 Top
LIME
Отправлено: 09 Февраля, 2011 - 11:31:50
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Мелкий
Захожу под рутом и в браузере 127.0.0.1
Я документрут изменил на home\myname\www\htdocs\
Может в этом дело?
Okula
А чего его проверять
Файл создаться должен
Andruxa
Сначала без слеша было , потом добавил
Ничего не изменилось
 
 Top
Andruxa
Отправлено: 09 Февраля, 2011 - 11:43:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 140
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




Со слешем у меня тоже не записывал.
Цитата:
Файл создаться должен

А файл по моему создается атрибутом "а+".
 
 Top
Мелкий Супермодератор
Отправлено: 09 Февраля, 2011 - 11:46:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




LIME пишет:
Захожу под рутом и в браузере 127.0.0.1

Следовательно - скрипт запускается с полномочиями веб-сервера. Следовательно, в корень файловой системы писать не может. Обратите внимание - / - корень файловой системы, а не документрут.

PS: Выйдите из под рута Улыбка


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 09 Февраля, 2011 - 15:43:22
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Мелкий
Сначала без слеша было , потом добавил
Ничего не изменилось
Я думал вебсервер с правами рута работает
Ну покрайней мере в текущую папку может писать
Это не так?
(Добавление)
Andruxa
'а'-дописать или создать
'а+'-создать или переписать
 
 Top
Мелкий Супермодератор
Отправлено: 09 Февраля, 2011 - 17:31:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




LIME пишет:
Я думал вебсервер с правами рута работает

Ни в коем случае. Разве только сами не перенастраивали.

LIME пишет:
Ну покрайней мере в текущую папку может писать

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


-----
PostgreSQL DBA
 
 Top
jfr
Отправлено: 09 Февраля, 2011 - 21:01:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 332
Дата рег-ции: Март 2010  
Откуда: Таджикистан, Худжанд


Помог: 0 раз(а)

[+]


может попробуешь file_put_contents Радость

(Отредактировано автором: 09 Февраля, 2011 - 21:01:54)

 
 Top
LIME
Отправлено: 09 Февраля, 2011 - 21:07:16
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




jfr
нет хотелосьбы решить проблему
 
 Top
jfr
Отправлено: 09 Февраля, 2011 - 21:21:14
Post Id



Посетитель


Покинул форум
Сообщений всего: 332
Дата рег-ции: Март 2010  
Откуда: Таджикистан, Худжанд


Помог: 0 раз(а)

[+]


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $number=4;
  3.   $file=fopen("base.txt","a");
  4.               fputs($file,$number) ;
  5.               fclose($file);
  6. ?>
 
 Top
LIME
Отправлено: 09 Февраля, 2011 - 23:17:31
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




jfr
непонял что ты этим хотел сказать нудаладно )))
(Добавление)
проблему решил всем спасибо
выяснил поиграв правами что апач работает с правами для остальных ))
 
 Top
JustUserR
Отправлено: 10 Февраля, 2011 - 15:40:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




LIME пишет:
Выяснил поиграв правами что апач работает с правами для остальных ))
Для осуществления полного корректного решения предполагаемой задачи возможно использование модификации параметров конфигурации исполняемых объектов запрос которых обеспечивается web-сервером при указании ассоциированного URL-адреса - в частности возможно применение общего приложения ОС sudo или специальных объектов модулей для конфигурации целевого web-сервера таких как Suexec и suphp соответственно


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
LIME
Отправлено: 10 Февраля, 2011 - 21:30:47
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




JustUserR
вы будоражите мой мозг ))
спасибо))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB