Я застрял часами, работая над этим. В сети найдено несколько решений, но мне никто не помогает. У меня возникла проблема с отображением изображения в браузере с помощью PHP, который берет изображение из базы данных Postgres с типом столбца bytea. Я уверен, что я что-то упускаю здесь. Так что некоторые рекомендации действительно приветствуются. Итак, у меня есть этот код ниже:
$prod = new Product();
$prod->display_latest_product();
if( $prod->exists() ){
$products = $prod->data();
foreach($products as $product){
echo $product->id;
echo $product->binarydata;
/* Solution below: I only get one image with broken link */
header('Content-type: image/png');
echo pg_unescape_bytea($product->binarydata);
/* Solution below: I only get one image with broken link */
header('Content-Type: image/png');
$data=fgets($product->binarydata);
print(pack('H*',$data));
/* bin2hex() expects parameter to be string but resource given */
echo bin2hex($product->binarydata);
/* Solution below: I only get one image with broken link */
$image = stripcslashes($product->binarydata);
header("Content-Type: image/png");
print($image);
}
}
Я ценю некоторые объяснения по этому поводу, потому что я все еще в замешательстве после исследований и чтения.
header
есть, я могу отображать только одно изображение. Как я указал выше, я могу получить доступ с внешней страницы, но мне нужно будет вызывать БД каждый раз, когда вызывается страница. Это непрактично, особенно для сайта с большим количеством изображений на одной странице. Я не могу передатьbinarydata
, который является PHPResource Id
. Как мне быть с этим, есть идеи? 29.10.2015