السلام عليكم ورحمة الله
...
اصدقائي بنيت كود لارسال رسائل جماعية ..لمجموعة من الايميلات ضمن قاعدة بيانات..
ولكن الان اريد ان امكن المرسل من ارافاق صورة بشكل Attatch
هل من مساعد لي ...
السلام عليكم ورحمة الله
...
اصدقائي بنيت كود لارسال رسائل جماعية ..لمجموعة من الايميلات ضمن قاعدة بيانات..
ولكن الان اريد ان امكن المرسل من ارافاق صورة بشكل Attatch
هل من مساعد لي ...
<?php
// general settings
$gif_name="load.gif";
$file=fopen($gif_name,'rb');
$gif_data=fread($file,filesize($gif_name));
fclose($file);
$gif_data = chunk_split(base64_encode($gif_data));
$random=md5(time());
$boundry="Boundry==$random";
$headers="To: admin@localhost\n".
"From: admin@localhost>\n".
"Subject: Attached\n".
"MIME-Version: 1.0\n".
"Content-Type: multipart/mixed; boundary=\"$boundry\"\n";
$message="
--$boundry
Content-type: image/gif
Content-Transfer-Encoding: base64
Content-Disposition: attachment;filename=\"load.gif\"
$gif_data
--$boundry--";
echo mail('admin@localhost','Attached',$message,$headers);
?>الكود السابق حددنا نوع الصورة المراد ارسالها من نوع gif
يمكن تغيير ذلك بإستقبال الصورة من الفورم وتحديد نوعها بدلا من تثبيت نوع واحد .
I Say Nothing
mana80 كتب:<?php // general settings $gif_name="load.gif"; $file=fopen($gif_name,'rb'); $gif_data=fread($file,filesize($gif_name)); fclose($file); $gif_data = chunk_split(base64_encode($gif_data)); $random=md5(time()); $boundry="Boundry==$random"; $headers="To: admin@localhost\n". "From: admin@localhost>\n". "Subject: Attached\n". "MIME-Version: 1.0\n". "Content-Type: multipart/mixed; boundary=\"$boundry\"\n"; $message=" --$boundry Content-type: image/gif Content-Transfer-Encoding: base64 Content-Disposition: attachment;filename=\"load.gif\" $gif_data --$boundry--"; echo mail('admin@localhost','Attached',$message,$headers); ?>الكود السابق حددنا نوع الصورة المراد ارسالها من نوع gif
يمكن تغيير ذلك بإستقبال الصورة من الفورم وتحديد نوعها بدلا من تثبيت نوع واحد .
يعطيك العافية mana80 ....
ولكن يوجد مشكلة صغيرة ..انه الصورة لا تظهر...يظهر علامةX
mana80 كتب:الكود يعمل عندي وتظهر الصورة .......هل غيرت اسم الصورة لصورة موجودة في جهازك
طبعا ..غيرت الصورة ..وضعت صورة jpg
ولم تظهر ..
وايضا وضعت زر استعراض في صفحة html لكي امكن المستخدم من وضع الصورة التي يريدها .. وكذلك لم تظهر الصورة
...واذا اردت ان اضع نص مع الصورة ..اين اضعه
attatch.rarmana80 وشكرا للمساعدة
تم تعديل هذه المشاركة بواسطة Rida Talab في 20 أغسطس 2008 في 11:05
السلام عليكم
عندما قمت بغيير اسم الصورة لابد ايضا من تغييرContent-type: image/gif الى Content-type: image/jpg فهو يحدد نوع الملف
اما لو اردنا ان نرسل رسالة تحوي مثلا نص وصورة مرفقه فسيكون الكود كالتالي
الجزء الخاص بالمتغير $message هنا فقط سيكون التغيير.
$message=" --$boundry Content-type : text/text Content-Transfer-Encoding : 7bit Text message --$boundry Content-type: image/jpg Content-Transfer-Encoding: base64 Content-Disposition: inline;filename=\"load.gif\" $gif_data --$boundry--";
بالنسبة لنوع الصورة اذا كان غير محدد فيجب إضافة تحديد نوع الصورة المراد إرسالها ويتم
بالتأكد اولا أن الـ MIMEmagic extension تعمل من ملف php.ini , ثم نمرر اسم الملف إلى
mime_content_type("filename");جرب الكود إن شاء الله يشتغل معك
تم تعديل هذه المشاركة بواسطة mana80 في 20 أغسطس 2008 في 15:14
I Say Nothing
المشكلة اخت mana80 أن الصورة تصل الى الايميل وحجمها 0 kb
يعني الأتاتش يتم فقط لاسم الصورة
قد يأخذكم هذا الى نقطة البداية ولكني احب ان اوضح انه هناك العديد من المشاريع المفتوحة المصدر التي توفر هذه الميزة فمن الاولي استخدامها وانا ارجحها على هذا الترتيب:
بدلا من
Content-Disposition: inline;filename=\"load.gif\"
الكود الجديد
Content-Disposition: attachment;filename=\"load.gif\"
I Say Nothing