Страница 2 из 3

Добавлено: 16 июл 2006, 15:18
Oscar
pashtet,
1. Сервер выдаёт сообщение об ошибке в стандартный аутпут (грубо говоря, на экран пользователя) + может писать в лог файл.
Работа скрипта не прекращается, если программист не указал обратное.
Таким образом, если в дальнейшем коде будет что-то основываться на ошибочных данных, - будет неправильный вывод и/или дальнейшие сообщения об ошибках

2. isset

Добавлено: 16 июл 2006, 15:31
pashtet
А от этого (вывода на экран) ни как нельзя избавиться? Я как раз проверяю наличие файла просто его открытием, и если не открылся то делаю что нужно в этом случае, но мне совсем не надо чтобы на экран пользователя при этом выводилось сообщение об ошибке. Или проверять наличие файла другим способом?
зы: спасибо за иссет

Добавлено: 16 июл 2006, 15:59
Oscar
есть какая-то переменная в PHP, которая отключает все сообщения об ошибках
но какая - не помню ))
и мне кажется, что суппортятам всё же лучше знать это сообщение, если что-то работает неправильно

в твоём конкретном случае решением будет file_exists

Добавлено: 18 июл 2006, 15:59
pashtet
Oscar, благодарю. Скачал весь мануал с сайта php только там половина на инглише :(
У меня вот ещё проблема возникла. Из формы присылается текст (вводит юзер) и потом открывается папка с соответствующим именем. Проверку file_exists я делаю, но вот если юзер введёт точку, ковычки, слэш или обратный слэш возникает ошибка что неудаётся открыть папку. Как это исправить? Пробовал проверять функцией substr_count()
на наличие символа в строке. С точкой удалось справится, а вот с остальными символами нет. substr_count() не находит их в строке

Добавлено: 18 июл 2006, 16:09
Oscar

Добавлено: 18 июл 2006, 17:37
pashtet
заменяет всё кроме слэша. Незнаешь как от него избавиться?

Добавлено: 18 июл 2006, 17:55
Oscar
в ведённых данных слэши "экранируются", добавляется ещё один слэш

а потому:

$input = str_replace("\\\\", "", $input);

ну и чтоб наверняка:

$input = str_replace("\\\\", "", $input);

мало ли ..

Добавлено: 18 июл 2006, 18:18
pashtet
не, это как раз и так работает. Мне бы другой слеш ) вот такой /
строка типа $input = str_replace("\///", "", $input); ничего не удаляет

Добавлено: 18 июл 2006, 18:38
Oscar
\\\/

Добавлено: 18 июл 2006, 18:51
pashtet
бесполезно, даже если \\\\\\\\/
А другого способа нету?