Hide this notice

مرحبا أنت تستخدم انترنت اكسبلورر ٦ و هو متصفح اصدر في العام 2001 الا يبدو لك ذلك قديما .

نحن ننصحك بقوة بترقية متصفحك إلى نسخة أحدث مثل أنترنت اكسيلورر ٨ أو فايرفوكس و الذي سيتيح لك تصفح أفضل ليس لموقعنا فقط بل في كل أرجاء الأنترنت..

لو كنت لا تريد أو لا تملك الصلاحية لترقية المتصفح يمكنك أن تستمر في التصفح على الرحب و السعة لكن تذكر قد لا تتمكن من استعراض بعض خدمات الموقع بالشكل المطلوب . بالطبع يمكنك إخفاء هذه الرسالة و تستمر في التصفح و لن تظهر لك هذه الرسالة مرة أخرى .

Screenshot

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

تخزين الصور في قاعدة البيانات من نوع Mysql

لن تشرح مثال كامل لعمل ذلك و لكن سنشرع ما عليك القيام به من خلال برنامج

أولا : قاعدة بياناتك

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

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


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

ثانيا : ملف البرنامج أو ملف php

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

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


<?// سنفرض أننا أخذ عنوان الصورة أو الصورة بعد تحميلها من المتصف مثلا في متغير اسم

// filename

$finalimage = chunk_split(base64_encode($filename));

$sql = "INSERT INTO imagesdb SET photo='$finalimage' " ;

mysql_query($sql);

?>

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

ثالثا : عرض الصورة من القاعدة

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


<?

while ($row = mysql_fetch_array($result)) {

$thenewimage= $row['photo'];

echo base64_decode($thenewimage);

}

?>

بقلم : فاطمة العمادي

أم و زوجة .. مصممة حرة و مصورة .. عرف الناس كتاباتي التقنية من خلال شخصية خيالية هي الدكتور نت . اصمم المواقع منذ العام ١٩٩٩م .

أوسمة : ,