إضافة صورة إلى قاعدة البيانات

 إضافة صورة إلى قاعدة البيانات  أضيف في: 1-5-1428هـ
لن تشرح مثال كامل لعمل ذلك و لكن سنشرع ما عليك القيام به من خلال برنامج

أولا : قاعدة بياناتك عند تصميم قاعدة بياناتك عندما تصميم جداولك تاكد من ان يكون الحقل الذي ستخزن به الصورة من نوع Longtext

مثال : قاعدة البيانات هذه تخزن الصور فقط

PHP CODE:
0001
0002
0003
0004
0005
0006

<?php CREATE TABLE `imagesdb` (
`ID` INT NOT NULL AUTO_INCREMENT ,
`photdata` LONGTEXT NOT NULL ,
PRIMARY KEY ( `ID` )
);

?>

ثانيا : ملف البرنامج أو ملف phpهناك أكثر من فرضية أنك استقبلت الصورة عن طريق التحميل عن طريق المتصفح أوأنك ستسحب الصورة من مجلد مثلا

في كلتا الحالتين بعد استقبال الصورة نحتاج إلى تشفيرها

PHP CODE:
0001
0002
0003
0004
0005
0006
0007

<?
// سنفرض أننا أخذ عنوان الصورة أو الصورة بعد تحميلها من المتصف مثلا في متغير اسم
// filename
$finalimage = chunk_split(base64_encode($filename));
$sql = "INSERT INTO imagesdb SET photo='$finalimage";
mysql_query($sql);
?>

فنستخدم الدالة base64_encode للتشفير و هي ترجع بيانات مشفرة بنظام base64 و بعد التشفير ستتحول الصورة إلى نص كبير الحجم سنحول النص الجديد إلى مقاطع صغيرة عن طريق Chunk_split و سنضيف الناتج إلى القاعدة

ثالثا : عرض الصورة من القاعدة نستخرج الصورة من قاعدة البيانات و من ثم نستخدم الدالة base64_decode لفك التشفير و إعادة الصورة لوضعها الطبيعي

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010

<?
while ($row = mysql_fetch_array($result)) {
$thenewimage= $row["photo"];
echo base64_decode($thenewimage);

}

?>


الكاتب:

الكاتب geek4arab

geek4arab

مواضيع متعلقة

التعليقات مغلقة