нужно послать 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{
echo "нет";
# пришлось die вставлять потому, что "header("HTTP/1.0 404 Not Found",false);" не фурычит, говорит полан уже
die;
}
?>
попробуй буферизацию - ob_start() и ob_end_flush()
Цитата:
Originally posted by willwin
попробуй буферизацию - ob_start() и ob_end_flush()
попробуй буферизацию - ob_start() и ob_end_flush()
весь код засунул в об_старт\об_енд, заработало.
но когда я пишу
header("HTTP/1.0 404 Not Found")
сервак выдает стандартную 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 {
header("HTTP/1.0 404 Not Found");
print "нет"
exit;
}
?>
$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"
Цитата:
Originally posted by qik
весь код засунул в об_старт\об_енд, заработало.
но когда я пишу
header("HTTP/1.0 404 Not Found")
сервак выдает стандартную 404 ошибку, хотя у меня в хтакаксесс прописаны пути до моих страниц ошибок.
весь код засунул в об_старт\об_енд, заработало.
но когда я пишу
header("HTTP/1.0 404 Not Found")
сервак выдает стандартную 404 ошибку, хотя у меня в хтакаксесс прописаны пути до моих страниц ошибок.
может не отключена эта настройка в .htaccess? Или попробуй
header("HTTP/1.1 404 Not Found") :)
Цитата:
Originally posted by willwin
может не отключена эта настройка в .htaccess? Или попробуй
header("HTTP/1.1 404 Not Found") :)
может не отключена эта настройка в .htaccess? Или попробуй
header("HTTP/1.1 404 Not Found") :)
Может апач не обрабатывает ошибки выданные функцией header. Делай редирект на свую 404 страницу, да и все.