Невозможно показать PDF/изображение из двоичных данных в MSSQL с использованием PDO LOB.Php

Кемеровские программисты php общаются здесь
Anonymous
Невозможно показать PDF/изображение из двоичных данных в MSSQL с использованием PDO LOB.

Сообщение Anonymous »

Я использую базу данных MSSQL, содержащую вложения — большинство из них в формате PDF. Я хочу создать простой веб-сайт, на котором после нажатия кнопки будет отображаться вложение. У меня подготовлен основной сайт (есть записи с заголовками вложений и ссылка на другую страницу, которая должна просто показывать вложение в новой вкладке).
Я был использование PDO, как я слышал, безопасно и довольно просто.
Мой запрос «$sql» наверняка возвращает одну строку (я проверил это, просто выполнив var_dump из FetchAll()).

Код: Выделить всё

 $stmt = $pdo->prepare($sql);
$stmt->execute([$id]);

$stmt->bindColumn(10,$lob, PDO::PARAM_LOB);
$stmt->bindColumn(11, $attachment, PDO::PARAM_STR, 256);
$stmt->fetch(PDO::FETCH_BOUND);
$lobContent = stream_get_contents($lob);

$ext = substr(strrchr($attachment, '.'),1);

header("Content-Type: Application/pdf");

// fpassthru($lob) shows some weird stuff that looks like memory leak
echo $lobContent;
Есть идеи, что я здесь делаю не так? Если я попытаюсь использовать fpassthru(), он покажет мне какой-то мусор, я имею в виду, что это похоже на утечку памяти или что-то в этом роде, есть некоторые части кода, которых нет на моем веб-сайте и нет в базе данных.. .
Я проверил, не является ли результат запроса пустым, попытался просто извлечь все() полученные данные, но, как сказано выше, поведение получилось очень неожиданным.
п>

Подробнее здесь: https://stackoverflow.com/questions/786 ... ng-pdo-lob

Вернуться в «Php»