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

Ваш аккаунт

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

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

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

Подскажите, где собака зарыта???

1.9K
24 апреля 2006 года
kasap
168 / / 07.04.2005
Добрый день,
Такой вопрос... У меня сервак такой конфигурации:
Apache 2, PHP4. HTML генерится посредством XSLT. Так вот при выводе html в самое начало перед тэгом html добавляется пробел и перевод строки. Я просмотрел все xsl шаблон, но в нем нет этого пробела и перевода. Может кто-нить может мне подсказать, где могут добавляться эти символы. Может в Apache или PHP надо настроить. Помогите, очень нужна помощь по этому вопросу.
Спасибо.
15
24 апреля 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by kasap
Добрый день,
Такой вопрос... У меня сервак такой конфигурации:
Apache 2, PHP4. HTML генерится посредством XSLT. Так вот при выводе html в самое начало перед тэгом html добавляется пробел и перевод строки. Я просмотрел все xsl шаблон, но в нем нет этого пробела и перевода. Может кто-нить может мне подсказать, где могут добавляться эти символы. Может в Apache или PHP надо настроить. Помогите, очень нужна помощь по этому вопросу.
Спасибо.


Попробуй посмотри сам php скрипт. Просто вещи как эта

 
Код:
$html = "
<head>
<title>Super title</title>
</head>"
;

Будут делать перевод строки, и если сверху ещё случайно пробел поставить...
1.9K
25 апреля 2006 года
kasap
168 / / 07.04.2005
Цитата:
Originally posted by shaelf
Попробуй посмотри сам php скрипт. Просто вещи как эта
 
Код:
$html = "
<head>
<title>Super title</title>
</head>"
;

Будут делать перевод строки, и если сверху ещё случайно пробел поставить...


Нет, у меня html генерится посредством xslt шаблонов. Там нет накопления буфера в переменной. Тем более, что перед тем как выдать код в браузер, я делаю trim.
На самом деле проблема распространяется также на все скачиваемые файлы с сайта. При их скачивании в самое начало файла добавляются этот злополучный пробел с переводом строки. В итоге скачиваемые файлы оказываются поврежденными. Чтобы они нормально открылись надо открыть их в тестовом редакторе, удалить пробел и перевод строки и сохранить.
Интересно также, что в опере или моззиле большинство файлов нормально открываются. А в ie нет.
Сегодня с утра перекомпилировал сервак, но ничего не поменялось. Может ли причина быть в сетке или серваке?

15
25 апреля 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by kasap
Нет, у меня html генерится посредством xslt шаблонов. Там нет накопления буфера в переменной. Тем более, что перед тем как выдать код в браузер, я делаю trim.
На самом деле проблема распространяется также на все скачиваемые файлы с сайта. При их скачивании в самое начало файла добавляются этот злополучный пробел с переводом строки. В итоге скачиваемые файлы оказываются поврежденными. Чтобы они нормально открылись надо открыть их в тестовом редакторе, удалить пробел и перевод строки и сохранить.
Интересно также, что в опере или моззиле большинство файлов нормально открываются. А в ie нет.
Сегодня с утра перекомпилировал сервак, но ничего не поменялось. Может ли причина быть в сетке или серваке?


А может тогда код приведёшь или банку кофе купишь?:)

1.9K
25 апреля 2006 года
kasap
168 / / 07.04.2005
Цитата:
Originally posted by shaelf
А может тогда код приведёшь или банку кофе купишь?:)



Пример кода скачивания файла...

Код:
$query = new query("select * from files where file_id='$file_id'"); # проверяем по базе есть ли файл
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;
    }
}
1.9K
25 апреля 2006 года
kasap
168 / / 07.04.2005
Цитата:
Originally posted by shaelf
А может тогда код приведёшь или банку кофе купишь?:)



На самом деле дело не в коде.
А в серваке. Потому что, вышеописанное происходит со всем контентом, отсылаемым с сервера, будь то рассылка, отправленная с sendmail, или просто html страница.

15
25 апреля 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by kasap
На самом деле дело не в коде.
А в серваке. Потому что, вышеописанное происходит со всем контентом, отсылаемым с сервера, будь то рассылка, отправленная с sendmail, или просто html страница.


Тогда это к squirL тебе нужно.

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