Открытие удаленного pdf-файла с помощью php в google chrome

У меня есть сценарий PHP, который я хочу, чтобы он выполнял цикл для каждого файла pdf в одной из папок моего домена и проверял, содержит ли какой-либо из них предопределенную строку в своем имени, а затем открываю его. Я получил его, указав имя вручную, но цикл не работает, и я не могу понять, что не так.

<?php   
    //Value from JS
    $intern = $_GET['intern'];

    //Scan this folder, if a PDF contains on it's name the string saved in the variable $intern, we open it
    $files = scandir('\\\\server\\folder\\folder\\folder\\folderthatcontainspdfs');
    foreach ($files as $file) {
        if (strpos($intern, $file) !== false) {
            $filename = $intern;
            header('Content-type: application/pdf');
            header('Content-Disposition: inline; filename="'.$filename.'"');
            header('Content-Transfer-Encoding: binary');
            header('Content-Length:'.filesize($file));
            header('Accept-Ranges: bytes');
            @readfile($file);
        };
    };
?>

Я просто получаю пустую страницу с содержимым.

Зачем тогда нужен цикл? Вы можете просто проверить, существует ли файл в указанном каталоге.

Web Artisan 31.10.2018 12:06
}; ?? В закрывающих фигурных скобках точка с запятой не требуется.
RiggsFolly 31.10.2018 12:08

Вы пробовали отладку? Как простой print_r($files); после звонка scandir

RiggsFolly 31.10.2018 12:11

В ваших журналах ничего нет? Вы пробовали @readfile($file); без @?

brombeer 31.10.2018 12:11

@RiggsFolly Находит файл. (ну, это указано в результате print_r)

bm00 31.10.2018 12:15

@kerbholz В логах ничего нет. Да, я тоже пробовал, но ничего ...

bm00 31.10.2018 12:21

Если я изменю порядок в strpos, чтобы он был похож на strpos ($ file, $ intern), я получаю предупреждение о том, что это была ошибка при открытии документа PDF, и это предупреждение в devtools: ресурс интерпретируется как документ, но передается с помощью типа MIME application / pdf : "IP / путь / путь / script.php? intern = M-32".

bm00 31.10.2018 12:34
0
7
92
0

Другие вопросы по теме