Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

нужно послать header в середине кода

381
28 января 2005 года
qik
116 / / 20.06.2000
в общем из темы все ясно, есть код который проверяет правильность некой переменной, нужно послать 404 ошибку в случае "провала".
вот:
<?
$dir = "images/";
$folder = "/works/";
$uri = str_replace ("/","",$uri);
$handl = opendir($dir);
while ( $file = readdir($handl) )
{
if (($file!=".")&&($file!=".."))
{
$file_c = ereg_replace ("([[:alnum:]])(\\.[[:alnum:].]*)?$", "\\1", $file);
$otbor[$file] = $file_c;
}
}
if (in_array($uri, $otbor)){
echo "да";
}else{
echo "нет";
# пришлось die вставлять потому, что "header("HTTP/1.0 404 Not Found",false);" не фурычит, говорит полан уже
die;
}
?>
336
28 января 2005 года
willwin
182 / / 20.09.2000
попробуй буферизацию - ob_start() и ob_end_flush()
381
31 января 2005 года
qik
116 / / 20.06.2000
Цитата:
Originally posted by willwin
попробуй буферизацию - ob_start() и ob_end_flush()


весь код засунул в об_старт\об_енд, заработало.
но когда я пишу
header("HTTP/1.0 404 Not Found")
сервак выдает стандартную 404 ошибку, хотя у меня в хтакаксесс прописаны пути до моих страниц ошибок.

4
31 января 2005 года
mike
3.7K / / 01.10.2002
Сначала Header, потом "нет".
Так все работает:

Код:
<?
$dir = "images/";
$folder = "/works/";
$uri = str_replace ("/","",$uri);
$handl = opendir($dir);
while ( $file = readdir($handl) ) {
  if (($file!=".")&&($file!="..")) {
    $file_c = ereg_replace ("([[:alnum:]])(\\.[[:alnum:].]*)?$", "\\1", $file);
    $otbor[$file] = $file_c;
    }
  }
if (in_array($uri, $otbor)) {
  echo "да";
  }
else {
  header("HTTP/1.0 404 Not Found");
  print "нет"
  exit;
  }
?>


Про 404. У тебя Explorer ??

Tools -> Internet Options -> Advanced -> Убери галку "Show friendly HTTP error messages"
336
31 января 2005 года
willwin
182 / / 20.09.2000
Цитата:
Originally posted by qik

весь код засунул в об_старт\об_енд, заработало.
но когда я пишу
header("HTTP/1.0 404 Not Found")
сервак выдает стандартную 404 ошибку, хотя у меня в хтакаксесс прописаны пути до моих страниц ошибок.



может не отключена эта настройка в .htaccess? Или попробуй
header("HTTP/1.1 404 Not Found") :)

4
31 января 2005 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by willwin
может не отключена эта настройка в .htaccess? Или попробуй
header("HTTP/1.1 404 Not Found") :)



Может апач не обрабатывает ошибки выданные функцией header. Делай редирект на свую 404 страницу, да и все.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог