Подскажите, где собака зарыта???
Такой вопрос... У меня сервак такой конфигурации:
Apache 2, PHP4. HTML генерится посредством XSLT. Так вот при выводе html в самое начало перед тэгом html добавляется пробел и перевод строки. Я просмотрел все xsl шаблон, но в нем нет этого пробела и перевода. Может кто-нить может мне подсказать, где могут добавляться эти символы. Может в Apache или PHP надо настроить. Помогите, очень нужна помощь по этому вопросу.
Спасибо.
Добрый день,
Такой вопрос... У меня сервак такой конфигурации:
Apache 2, PHP4. HTML генерится посредством XSLT. Так вот при выводе html в самое начало перед тэгом html добавляется пробел и перевод строки. Я просмотрел все xsl шаблон, но в нем нет этого пробела и перевода. Может кто-нить может мне подсказать, где могут добавляться эти символы. Может в Apache или PHP надо настроить. Помогите, очень нужна помощь по этому вопросу.
Спасибо.
Попробуй посмотри сам php скрипт. Просто вещи как эта
<head>
<title>Super title</title>
</head>";
Будут делать перевод строки, и если сверху ещё случайно пробел поставить...
Попробуй посмотри сам php скрипт. Просто вещи как эта
<head>
<title>Super title</title>
</head>";
Будут делать перевод строки, и если сверху ещё случайно пробел поставить...
Нет, у меня html генерится посредством xslt шаблонов. Там нет накопления буфера в переменной. Тем более, что перед тем как выдать код в браузер, я делаю trim.
На самом деле проблема распространяется также на все скачиваемые файлы с сайта. При их скачивании в самое начало файла добавляются этот злополучный пробел с переводом строки. В итоге скачиваемые файлы оказываются поврежденными. Чтобы они нормально открылись надо открыть их в тестовом редакторе, удалить пробел и перевод строки и сохранить.
Интересно также, что в опере или моззиле большинство файлов нормально открываются. А в ie нет.
Сегодня с утра перекомпилировал сервак, но ничего не поменялось. Может ли причина быть в сетке или серваке?
Нет, у меня html генерится посредством xslt шаблонов. Там нет накопления буфера в переменной. Тем более, что перед тем как выдать код в браузер, я делаю trim.
На самом деле проблема распространяется также на все скачиваемые файлы с сайта. При их скачивании в самое начало файла добавляются этот злополучный пробел с переводом строки. В итоге скачиваемые файлы оказываются поврежденными. Чтобы они нормально открылись надо открыть их в тестовом редакторе, удалить пробел и перевод строки и сохранить.
Интересно также, что в опере или моззиле большинство файлов нормально открываются. А в ie нет.
Сегодня с утра перекомпилировал сервак, но ничего не поменялось. Может ли причина быть в сетке или серваке?
А может тогда код приведёшь или банку кофе купишь?:)
А может тогда код приведёшь или банку кофе купишь?:)
Пример кода скачивания файла...
if($query->num_rows()<1) $warning="no_file_in_base"; # файла нет
else{ # если есть
$row = $query->get_row();
$file_name = $row[file_name];
$file_path = DIR_FILES.'/'.$file_id.'_'.$file_name;
if(!file_exists($file_path)) $warning="no_file";
else {
$handle = fopen($file_path, "rb");
if(!$handle) die("error open file!:");
$fsize = filesize($file_path);
if (isset($_SERVER["HTTP_RANGE"])) {
fseek($handle, intval($_SERVER[HTTP_RANGE]));
$range = $_SERVER["HTTP_RANGE"];
$range = str_replace("bytes=", "", $range);
$range = str_replace("-", "", $range);
if ($range) {
fseek($handle, $range);
}
}
if ($range>0) {
header("HTTP/1.1 206 Partial Content");
}
else {
header("HTTP/1.0 200 OK");
}
Header("Content-type: application/force-download");
header("Content-Length: ".($fsize-$range));
if ($range) { header("Content-Range: bytes $range-".($fsize -1)."/".$fsize); }
Header("Content-Disposition: attachment; filename=$file_name");
fpassthru($handle);
fclose($handle);
add_log('DOWNLOAD', $file_id);
exit;
}
}
А может тогда код приведёшь или банку кофе купишь?:)
На самом деле дело не в коде.
А в серваке. Потому что, вышеописанное происходит со всем контентом, отсылаемым с сервера, будь то рассылка, отправленная с sendmail, или просто html страница.
На самом деле дело не в коде.
А в серваке. Потому что, вышеописанное происходит со всем контентом, отсылаемым с сервера, будь то рассылка, отправленная с sendmail, или просто html страница.
Тогда это к squirL тебе нужно.