السلام عليكم
كيف اضيف خاصية ادراج صورة في برنامجي مثل المنتديات ..
:shy:
السلام عليكم
كيف اضيف خاصية ادراج صورة في برنامجي مثل المنتديات ..
:shy:
__________________
php.php @ hotmail.com
__________________
سوالف فقط لا غير
شكرا جزيلا ً اخوي ولكن هذا الشرح لعمل ملف تحميل فقط.
__________________
php.php @ hotmail.com
هلا بالسمي :nice:
ما فهمتك والله...
هل تبغى تسوي BB codes ؟؟
والا تبغى ترفع الصور على الداتابيس ؟؟ (زي الأتاتشمنت في المنتديات)
---------------------
مستعير العضوية
ياهلا اخوي بدر مشكور على المرور كلامك صحيح ابي رفع الصورة في الداتا .
__________________
php.php @ hotmail.com
عندك طريقتين...
الأولى انك تحول الصورة من باينري الى text عادي باستخدام (base64_encode)...
الميزة:
المعومات بتخزن في الداتابيس على شكل حروف...
تقدر تعدل على ملف الباك اب حق الداتابيس وتحفظ...
العيب: الحجم بيزيد 33%
الثانية انك تخزن المعلومات زي ماهي (باينري) في BLOB field...
عيبها: لو سويت باك اب من الداتا بيس... وحررته... بيخترب غالباً جدول الأتاتشمنت
طبعاً الداتابيس عبارة عن id و data (المفروض انت عندك تحط imagetype و imagesize و name و ممكن بعد cat)..كود PHP:
//getting the image.. and opening it returning it's content to buffer variable...
$filename = "image.jpg";
$fp = fopen($filename, "rb");
$buffer = fread($fp, filesize($filename));
//encoding the data, (changing its state from binary to regular TEXT)...
$buffer = base64_encode($buffer);
fclose ($fp);
//database connection....
$link = mysql_connect("localhost", "root", "");
$db = mysql_select_db("test", $link);
$query = "INSERT INTO data (id, data) VALUES (NULL, '$buffer')";
$result = mysql_query($query);
mysql_close($link);
الـ data في حالة استعمال الـ base64_encode تخليه text...
أما في حالة انك ما استعملتها تخليه (لازم) BLOB... (اللي هو باينري)...
في حالة الإستعلام عن الصورة (أو الأتاتشمنت)... لازم ترجعها الى باينري عن طريق (base64_decode)...
اذا بغيت تخلي الملف ما يتحول لـ text (يهمك الحجم مرة)... احذف سطر الإنكود...
اذا فيه شي ما عرفت أشرحه... قل لي وما يكون خاطرك الا طيب
بالتوفيق...
---------------
مستعير العضوية
نسيت أقول...
لو كنت مسوي صفحة upload...
والإنبوت حق الفايل باسم file....
بيكون زي كذا:
أو تستخدمكود PHP:
$filename = $_FILES['file']['tmp_name'];
على حسب نسخة الـ php اللي عندككود PHP:
$filename = $HTTP_POST_FILES['file']['tmp_name'];
بالتوفيق..
** مرفق.. كود قديم... كنت بستعمله في سكربت... بس غيرت الطريقة (ما استعملت داتابيس)...
ما ادري اذا فيه أخطاء والا لا
-----------
مستعير العضوية
التعديل الأخير تم بواسطة عسول ; 12-09-2005 الساعة 04:14 AM سبب آخر: اضافة مرفقات
مشكور اخوي بدر الف شكر لك.
__________________
php.php @ hotmail.com
احسن شي ترفع الملف عن طريق copy وتحفظ امتداده في الداتابيس
__________________
لا اله الا انت سبحانك اني كنت من الظالمين
مشكور اخوي Pal-Heart , تم بحمد الله عمل ذلك.
__________________
php.php @ hotmail.com