Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка fopen() 
:(
    Опции темы
web_VIP
Дата 7.2.2008, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 8.9.2007

Репутация: нет
Всего: нет



У меня вот такой вопрос, как избежать ошибки на экране?
ошибка:
Код

Warning: fopen(123.txt) [function.fopen]: failed to open stream: Permission denied in D:\Server\localhost\www\index.php on line 8
файл не открвается 

То есть он ругается на то что я в файле поставил галочку "Только для чтения", но как сделать так что бы он не выводил такой ошибки, а выводил то что я хочу, то есть мою ошибку, вот мой код:
Код

$file="123.txt";
$file_open=fopen($file,"r+");
if (!$file_open) { echo "файл не открвается"; } else { echo "все гуд!!!"; };

PM MAIL   Вверх
gta4kv
Дата 7.2.2008, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Ну или 
Код

$file_open=@fopen($file,"r+");// не желательно, потом при отладке можно замучатцо


или же в начале файла:
Код

error_reporting(0);

PM MAIL   Вверх
GeneralElectric
Дата 7.2.2008, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



чтобы ошибки не выводились на экран, надо выставлять настройку display_errors в 0
это надо делать для всех ситуаций скриптов всегда
а в данном случае, чтобы ожидаемая ошибка не шла в лог, используем is_readable()

Добавлено @ 19:53
gta4kv, оба совета не в кассу.
особенно - второй

Это сообщение отредактировал(а) GeneralElectric - 7.2.2008, 19:54
PM MAIL   Вверх
gta4kv
Дата 7.2.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



GeneralElectric, автору не надо что-бы выводилась ошибка. Мои оба примера убивают этот варнинг. 
С чего это они не в кассу?

плюс сам написал про еррор_репортинг

я вообще иногда не понимаю ваш ход мыслей

Это сообщение отредактировал(а) gta4kv - 7.2.2008, 19:59
PM MAIL   Вверх
web_VIP
Дата 7.2.2008, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 8.9.2007

Репутация: нет
Всего: нет



Цитата(gta4kv @ 7.2.2008,  19:51)
Ну или 
Код

$file_open=@fopen($file,"r+");// не желательно, потом при отладке можно замучатцо


или же в начале файла:
Код

error_reporting(0);

Спосибо, 2ой вариант мне больше понравился, проверил - работает!!!
PM MAIL   Вверх
GeneralElectric
Дата 7.2.2008, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



gta4kv, я не писал про еррор_репортинг
PM MAIL   Вверх
flashaa
Дата 7.2.2008, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Кстати почему display_errors всегда должен быть выключен ? По-моему при тестировании как раз удобней, чтоб включен был. Когда скрипты разрабатываются.
PM MAIL   Вверх
GeneralElectric
Дата 7.2.2008, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



PM MAIL   Вверх
gta4kv
Дата 7.2.2008, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



GeneralElectric, пардон.. у тебя дисплэй еррорс..
PM MAIL   Вверх
GeneralElectric
Дата 7.2.2008, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Вот в этом-то и беда, что многие не понимают разницу между этими директивами.
error_reporting(0) - офигительная практика. Советы лучших страусоводов. Сунул голову в песок - и от всех врагов спрятался. Отключил показ ошибок - все ошибки исправил! Лепота!


PM MAIL   Вверх
gta4kv
Дата 7.2.2008, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



GeneralElectric, все же ТС просил именно спрятать ошибку, а не исправить.

Добавлено @ 22:23
да и плюс прячет он только warning и notice, а серьезные ошибки всеравно выплывают

так что..

Это сообщение отредактировал(а) gta4kv - 7.2.2008, 22:24
PM MAIL   Вверх
GeneralElectric
Дата 7.2.2008, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



gta4kv, вот только не надо оправдываться.
Оправываясь, ты всегда делаешь только хуже.
Правильно. ТС просил именно спрятать ошибку. Одну ошибку, а не все.
при этом её надо не спрятать, а корректно обработать - то есть, не допустить её появления при штатном выполнении программы вообще. Что делает функция is_readable(). Причем данный случай - один из немногих, когда эта функция действительно нужна. 
Только я ошибся. не is_readable, а is_writable.
Цитата(gta4kv @  7.2.2008,  22:21 Найти цитируемый пост)
да и плюс прячет он только warning и notice, а серьезные ошибки всеравно выплывают

ну эта выдумка уже совсем ни в какие ворота не лезет. Остановись пока не поздно.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0506 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.