ذخیره تصاویر در بانک اطلاعاتی

itgate.ir

Member
سلام
بر شما دوست عزیز
آره میشه
ولی باید نوع فیلدت از نوع blob باشه
و mimeType عکس رو هم ذخیره کنی
اگه می خوای بیشتر توضیح بدم
 
آخرین ویرایش:

ziXet

مدیر انجمن PHP/MYSQL
اول عکسی که میخوای بریزی تو دیتابیس رو با fopen و fread سورسشو میخونی بعدبا دستورات مای اسکیو ال اونو تو یه فیلد با نوع blob میریزی
 
  • Like
Reactions: Mds
با دستور fread و fopen در بانک ذخیره کردم
حالا چطوری باید از mysql بگیرمش و در مرورگر نمایش بدم
با تشکر
 

itgate.ir

Member
سلام
فرض کنید می خوای عکس رو نمایش بدی
کد زیر رو می زنی :

کد:
<img src='load_image.php?image_id={$row['id']}'>
که این کد به یک فایل php اشاره می کنه
حالا در فایل load_image.php
پس از گرفتن image_id
و اتصال با بانک و جدول مربوطه
مانند این مثال عمل می کنیم :
کد:
<?php
include('dbconfig.php');
$image_id = $_GET['image_id'];
$row = mysql_fetch_assoc(mysql_query("SELECT `photo`,`type` FROM `tableName` WHERE id='$image_id'"));
header("Content-type:".$row['type']);
echo $row['photo'];
?>


موفق باشید
اسداللهی
 
آخرین ویرایش:

ziXet

مدیر انجمن PHP/MYSQL
رساتی یادت باشه قبل از اینکه بریزی تو دیتابیس حتما stripslashes کن سورس رو بعدشم برای نمایش که itgate.ir دقیق توضیح دادن.

موفق باشید
 

I.NoBody

Active Member
البته من پیشنهاد می کنم که به جای اینکه عکس رو توی Db ذخیره کنی، اونو توی یک فولدر ذخیره کن و آدرسش رو توی Db ذخیره کن
 
اقای itgate.ir عزیز این کاری که گفتی انجام دادم ول فقط کارکتر های بی معنی نشان می دهد
 
آقایون من فقط تو خواندن عکس از دیتابیس مشکل دارام
چطوری عکس را از دیتابیس بخوانم و در صفحه نمایش بدم
با تشکر.......
 

oxygenws

Active Member
کد برنامه ات رو، بعد از خوندن از بانک و نمایش دادن، اینجا بنویس تا بشه کمکت کرد.
اگر ساختار جدول دیتابیس ات رو هم بذاری بد نیست.
 
با تشکر از شما
این ساختار دیتابیس :

CREATE TABLE `poll` (
`one` text collate utf8_persian_ci NOT NULL,
`two` text collate utf8_persian_ci NOT NULL,
`three` text collate utf8_persian_ci NOT NULL,
`pic` blob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci;

این هم کد php :

<?php

$host="localhost";
$user="root";
$pass="";
$dbname="new";

$link = mysql_connect($host,$user,$pass);
mysql_select_db($dbname);

$query = ("SELECT * FROM `data`");
$result=mysql_query($query);
$row = mysql_fetch_array($result);
print ($row["one"]."<br>");
print ($row["two"]."<br>");
print ($row["three"]."<br>");
print ($row["pic"]);

?>

کلیه اطلاعات از دیتابیس خوانده میشود ولی فقط فیلد pic بصورت عکس لود نمیشه.
با سپاس فراوان.........
 
آخرین ویرایش:

oxygenws

Active Member
هر response در پروتکل HTTP باید شامل فقط و فقط یک نوع دیتا باشه....
شما اومدی هم متن رو پرینت کردی و هم تصویر رو!!!

این مشکل رو اگر فهمیدی بریم سراغ بعدی!!!
 

جدیدترین ارسال ها

بالا