Белый экран при выходе из буфера php только на некоторых смартфонах - PullRequest
0 голосов
/ 21 апреля 2020

Я пишу веб-сайт, используя bootstrap 4, html 5 и php 7. Веб-сайт обрабатывает папку со многими PDF-файлами внутри. Чтобы контролировать доступ к файлу PDF, я использую файл php, который выводит нужный PDF. Папка pdf защищена файлом htaccess.

Все отлично работает на некоторых смартфонах, которые отображают белый экран вместо файла pdf.

То же самое для варианта загрузки.

Для отладки я добавлял логи на каждом шаге. В обычной ситуации, когда я получаю PDF, я получил "-9-13-" В ситуации с белым экраном я получил "-9-13- 16 ", что-то странное с" выходом "

Есть идеи?

        if (file_exists($file)) 
        {
            //log_dbg('9-');
            if(isset($_POST['download']))//download
            {
                //log_dbg('10-');
                header('Content-type: application/pdf');
                header('Content-Disposition: attachment; filename="' . $chapter_file_name . '"');
                header('Content-Transfer-Encoding: binary');
                header('Content-Length: ' . filesize($file));
                readfile($file);
                //log_dbg('11-');
                exit;
                //log_dbg('12-');
            }
            else    //Stream
            {

                header('Content-type: application/pdf');
                header('Content-Disposition: inline; filename="' . $chapter_file_name . '"');
                header('Content-Transfer-Encoding: binary');
                header('Content-Length: ' . filesize($file));
                header('Accept-Ranges: bytes');
                readfile($file);
                //log_dbg('13-');
                exit;
                //log_dbg('14-');

            }
        }
        else
        {
            //log_dbg('15-');
            echo 'Fichier '.$file.' introuvable';
        }
       //log_dbg('16-');

У вас есть идеи, в чем может быть проблема?

Вы можете попробовать в реальный здесь: http://laguildedesecrivains.fr/story.php -> нажмите на "Chapitre 1"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...