[quote=Мелкий][/quote]
Все правильно. Действительно, файл со скриптом содержал в самом начале 3 байта, которые всовывает туда Windows. Я их убрал - никакой редактор их не показывает, пришлось использовать WinHEX. Далее - вставил вызовы функции header() в самом начале скрипта и -- УРА!!! - все заработало, то есть я увидел красивый PDF-файл. БОЛЬШОЕ СПАСИБО ВСЕМ, ПРИНЯВШИМ УЧАСТИЕ В ОБСУЖДЕНИИ !!!
Разрешите мне вернуться к теме. Итак, вот код, который работает:
Я понимаю, что ридеру передается что-то, не являющееся PDF-файлом, но как исправить эту ситуацию? Разобрался я. Отправка заголовков в скрипте стоит в самом начале скрипта и производится до того, как будет сделана проверка на существование файла. Получается, что рендеринг PDF-кода происходит всегда, независимо от того, есть ли такой код или его нет. Отсюда и сообщение об ошибке: пустой файл есть, а кода нет. Если же переставить отсылку заголовков ПОСЛЕ проверки наличия файла, то они не будут отсылаться при отсутствии файла; нужно также добавить в скрипт сообщение о том, что файла нет (в ветке ELSE). Если кому-то надо, могу выложить полный текст работающего скрипта.
За это спасибо. Лишний раз убеждаюсь, что надо читать мануалы !!!
Что же касается никакого HTML, то я его убрал, оставил только заголовки в виде <meta ... и получил тот же результат - вывелся PDF-код. Вы скажете, что и <meta ... надо убрать, и опять я с Вами соглашусь, только вот функция header() у меня не катит - об этом написано раньше. НЕУЖЕЛИ НЕЛЬЗЯ ДАТЬ ДЕЛЬНЫЙ СОВЕТ ИЛИ ХОТЯ БЫ ССЫЛКУ?
DlTA, верстку я вывожу для того, чтобы дать браузеру информацию о типе вложения. Но, оказывается, это не помогает - и без верстки, и с версткой выводится только PDF-код. А первая строчка для $html - это не опечатка; оказывается, так можно задавать длинные строки для переменной в PHP (см. например http://www[dot]mpdf1[dot]com/mpdf/download ). Я тоже не знал об этом раньше. Во всяком случае, мой скрипт обрабатывается без ошибок. А ВОТ ИЗОБРАЖЕНИЕ ИЗ КОДА НЕ ВЫВОДИТСЯ !!!
гдето и что то у вас до этого места уже было выведено в браузер
Отказался от mPDF, так как этот класс предназначен для формирования PDF-файла, а мне нужно просто вывести в окно браузера готовый PDF-файл, имя которого формируется из запроса в HTML-файле в переменной $filename. Вот окончательный вариант скрипта:
Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\Transport\archive_form.php:1) in C:\OpenServer\domains\Transport\archive_form.php on line 19
Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\Transport\archive_form.php:1) in C:\OpenServer\domains\Transport\archive_form.php on line 20
Я понимаю их важность, но не понимаю, как убедить mpdf.php.
Да я более чем уверен, что именно она мне и нужна
Вот только хотелось бы поделиться опытом (чужим). Какая, кто ей пользовался и был ли положительный результат.
Здравствуйте! Формирую имя файла и путь к нему в форме запроса. Затем считываю содержимое файла одной строкой и пытаюсь увидеть этот файл в браузере, но вижу только текст, а не изображение. Что надо сделать, чтобы увидеть изображение? У меня 3 браузера и у всех есть нужные плагины. Вот та часть PHP-скрипта, которая выполняет чтение и вывод файла (использую mPDF):
отправка почты замечательно работает в самом PHP без всяких коробок
для отправки почты, как минимум, нужен smtp сервер. который еще установить и настроить нужно.
Так я так и сделал - обратил внимание на другую сборку, то есть Open Server. Удалил Denver, установил и настроил Open Server, и с удивлением обнаружил, что для отправки почты в нем используется тот же sendmail, который мне где-то посоветовали скачать раньше. Мой сайт прекрасно смотрится, и сообщение из формы пришло на указанный почтовый сервер.
Так что все работает и без дополнительного SMTP-сервера, - нужно только правильно задать параметры почты в настройках.
Ну что вы, ребята, такие суровые? Вот я, например, статические странички делать умею, и свой сайт на бесплатном хостинге имею, а реальный сайт никогда не делал. Для меня комплект Denver вполне достаточен. Ставлю на него еще Joomla, и копаюсь с созданием шаблонов. А когда сделаю все, отпортирую эту разработку на хостинг, где есть Apache, MySQL и PHP. Что здесь не так?
Хотя, конечно, проблемы есть. Например, я сделал набор страничек и залил их в Denver, не используя Joomla. На одной страничке есть форма для отправки сообщения, а отправить его я не могу, - в Denver стоит заглушка. Я по форуму полазил, но ничего конкретного не нашел: советов много, но они как бы в сторону стреляют. Как прикрутить libmail.php - непонятно. Поставил sendmail, сделал все необходимые настройки в php.ini и в sendmail.ini, - сообщение уходит, но никуда не приходит (обращаю ваше внимание на то, что Joomla я пока не использую, а потому советы по настройке сервера в Joomla не годятся!).
Так что Denver - полезен, но с оговорками.