نمایش تصویر بجای دانلود کردن آن در php
سلام
دوستان من از کدهای زیر استفاده میکنم تا تصویر رو با پی اچ پی نشون بدم.
$ch = curl_init(); curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $xfx);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$content = curl_exec($ch);
curl_close($ch);
$nnnnnnn = $row['file_name'];
header("Content-type: $ft");
header('Content-Length: ' . $row['file_size']);
readfile($content);
die();
میخام وقتی این کدها اجرا شدن تصویر رو نشون بده که این کار نمیکنه.
دوستان متاسفانه استایل کدهای ادیتور انجمن برنامه نویس باز نمیشه برای راحت خوندن کدها کدها رو در ادیتورتون کپی کنید.
نقل قول: نمایش تصویر بجای دانلود کردن آن در php
بفرمایید
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $xfx);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$content = curl_exec($ch);
curl_close($ch);
$filename = basename($row['file_name']);
$file_extension = strtolower(substr(strrchr($filename,"."),1));
switch( $file_extension ) {
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpeg"; break;
default:
}
header('Content-type: ' . $ctype);
readfile($content);
نقل قول: نمایش تصویر بجای دانلود کردن آن در php
ممنون از پاسختون.
من Content-type: رو از دیتا بیس میدم و درست هم هست.
مشکل من اینه که تصویر رو نشون نمیده.
نمیدونم کجای کارم مشکل داره.
نقل قول: نمایش تصویر بجای دانلود کردن آن در php
مشکل اون die() بعد از header هست
کلاً در php وقتی شما header رو ست میکنی قبل و بعدش نباید از echo یا die یا print استفاده کنی وگرنه یک نوتیفیکیشن میگیری تحت عنوان headers already sent که به سورس فایل عکست اضافه میشه و چون دیتا binary هست دیتات corrupt میشه
اگه اصرار داری که حتما این کارو کنی
باید خط اول کدت این رو اضافه کنی تا مشکل حل شه
ob_start();
نقل قول: نمایش تصویر بجای دانلود کردن آن در php
با گذاشتن ob_start و برداشتن die() هم کار نکرد.
من سورس تصویر که در قالب یک فایل متنی با پسوند txt هست رو میگیرم و از طریق کدهای بالا میخام به کاربر نشونش بدم.
نقل قول: نمایش تصویر بجای دانلود کردن آن در php
یک نمونه از عکسی که لود میشه ولی نشون داده نمیشه رو save کن و در قالب فایل زیپ همینجا ارسال کن
و یا اون controller که عکس رو نشون میده رو بفرست تا بتونم ببینم مشکل کجاست