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]   

> Без описания
Zuldek
Отправлено: 24 Октября, 2010 - 17:10:09
Post Id


Постоянный участник


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


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




CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2. $file ="oprosdata.txt";
  3. $count = 1;
  4. $age_18 = 2;
  5. $age_30 = 3;
  6. $age_30_more = 4;
  7. $zagran = 5;
  8. $rf = 6;
  9. $activ = 7;
  10. $passiv = 8;
  11. $exp_avangard = 9;
  12. $noexp = 10;
  13.  
  14. $data =
  15.  
  16. "$count|$age_18|$age_30|$age_30_more|$zagran|$rf|$activ|$pas
  17. siv|$exp_avangard|$noexp";
  18. echo $data;
  19.  
  20. // Открыть файл, удалить содержимое и установить указатель
  21.  
  22. текущей позиции в начало файла
  23.  
  24. $fh = fopen($file, "w+") or die("File $file does not
  25. exist!");
  26. // Если файл существует и в него возможна запись
  27.  
  28. if (is_writeable($fh)) {
  29. // Записать содержимое $data в файл
  30.  
  31. fwrite($fh, $data);
  32.  
  33. // Закрыть файл
  34.  
  35. fclose($fh);
  36. echo "Запись произведена";
  37. }
  38. else
  39. {
  40. echo "невозможно открыть файл для записи";
  41. }
  42.  
  43. ?>


Уже вероятно, туплю, ибо вечер Огорчение, но скрипт выводит "невозможно открыть файл для записи", при этом файл существует и даже удаляется его старое содержимое((. Подскажите где ошибка пожалуйста(

(Отредактировано автором: 24 Октября, 2010 - 17:13:32)

 
 Top
Мелкий Супермодератор
Отправлено: 24 Октября, 2010 - 17:39:40
Post Id



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


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


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




0) Результаты is_writeable кэшируются. возможно имеет смысл применить clearstatcache().
1) права на запись в файл есть у пользователя, от имени которого работает скрипт?


-----
PostgreSQL DBA
 
 Top
Zuldek
Отправлено: 24 Октября, 2010 - 17:48:13
Post Id


Постоянный участник


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


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




Мелкий пишет:
0) Результаты is_writeable кэшируются. возможно имеет смысл применить clearstatcache().
1) права на запись в файл есть у пользователя, от имени которого работает скрипт?

Применение функции ничего не изменило, скрипт работает от админа Огорчение
Может это особые заморочки денвера?

(Отредактировано автором: 24 Октября, 2010 - 17:55:34)

 
 Top
OrmaJever Модератор
Отправлено: 24 Октября, 2010 - 17:57:48
Post Id



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


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


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




Попробуй file_put_contents()
Если работаешь на винде то вот на все файлы стоят права на запись.
(Добавление)
Не когда не испоьзовал функцию is_writeable(), но мне каежтся параметром должно быть имя файла, а не то что вернёт fopen(). Подмигивание


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Zuldek
Отправлено: 24 Октября, 2010 - 18:12:44
Post Id


Постоянный участник


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


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




OrmaJever пишет:
Попробуй file_put_contents()
Если работаешь на винде то вот на все файлы стоят права на запись.
(Добавление)
Не когда не испоьзовал функцию is_writeable(), но мне каежтся параметром должно быть имя файла, а не то что вернёт fopen(). Подмигивание


Всё верно, в f]is_writeable()[/f] и проблема была. Больше не буду ей пользоваться. Она просто была единственным что помнил без справочника Закатив глазки Тема исчерпана.

(Отредактировано автором: 24 Октября, 2010 - 18:13:06)

 
 Top
Uchkuma
Отправлено: 24 Октября, 2010 - 19:33:26
Post Id



Участник


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


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




Zuldek пишет:
Больше не буду ей пользоваться.
Интересно вы решаете проблемы )))
Вы просто использовали ее не в том месте. Нужно было сначала проверить файл с помощью is_writable, а уж потом, при успехе, открывать к нему поток.
 
 Top
JustUserR
Отправлено: 25 Октября, 2010 - 17:26:23
Post Id



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


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


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




Zuldek пишет:
Больше не буду ей пользоваться
Для осуществления открутия дексрипора файла с заданными модификаторами доступа к нему - предварительная проверка возможности записи или чтения не является обязательной - в частности возможно открытие файла в режиме максимального доступа a+ которые обеспечит сохранение вложенной информации - а в случае отказа доступа объект ресурса будет содержать false-значение


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 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