الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

معلومة مهمة في التعامل مع الملفات

بدأه عدنان عيسى في 22 أبريل 2008 · 6 رد · 954 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله

اخواني الاعزاء حابب اعطيكم هذه الفائدة في التعامل مع الملفات و يمكن البعض يعرفها .

هي كيفية تحديد امتداد الملفات و الصور .

مثلا : اريد ان اسمح برفع الصور ذات الامتداد jpg و gif و png فقط , وعندما يريد العضو في الموقع رفع اي ملف امتداده غير هذه الامتدادات تظهر له رسالة خطا بان

امتداد الملف غير صالح .

اول شي : نعرف مصفوفة بالامتدادات المسموحه كما يلي :

$exe_file = array("image/pjpeg", "image/gif", "image/x-png");

ثاني شي : نفحص امتداد الملف كما يلي :

if(!in_array($_FILES['file']['type'],$exe_file)){  echo "الامتداد غير مسموح به";  }

و هلق لمعرفة شكل اي امتداد في البي اتش بي , اختر ملف من المستعرض واضفط على الزر موافق (submit) , و في الصفحة التي تستقبل البيانات اطبع نوع الملف كما يلي :

echo $_FILES['file']['type'];

سوف يطبع لك المتصفح قيمة نصية , خذ هذه القيمة وضعها في المصفوفة السابقة لكي تسمح بهذا الامتداد لرفع اي ملف في موقعك .

شكررررررا .

تم تعديل هذه المشاركة بواسطة عدوووون في 22 أبريل 2008 في 15:17

سبحان الله والحمد لله ولا اله الا الله و الله اكبر

اللهم صلي وسلم وبارك على سيدنا محمد وعلى اله وصحبه وسلم

#2

السلام عليكم

مشكور على طرحك للموضوع

وللتوضيح

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

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

ووفقكم الله

" وما توفيقى إلا بالله عليه توكلت وإليه أنيب "
-------------------------------------------------
قل : " لا حول ولا قوة إلا بالله "
-------------------------------------------------

#3

شكرا على التوضيح .. وفعلا انا كنت اريد ان اعرف مثل هذة المعلومة

جزاك الله خير

h4z3m

Mysql

hm7bzmeskyfcyhsdmdv6.gif

#4

عندي طريقة لا تختلف عن طريقتك كثيرا و هي كالآتي :

1 /_ نعرف مصفوفة تحتوي على الإمتداد الذي نريد السماح به

$types=array('.rar','.zip','.jpg','.png','.gif','.doc','.pdf');

2 /_ من إسم الملف سنأخذ الإمتداد فقط و ذلك بمساعدة الدالة strrchr التي تأخذ الحروف الموجودة بعد حرف نحن نعينه و هنا سنعين " . " هي الحرف

$get_type=strrchr($_FILES['file']['name'],".");

3 /_ نقوم بالبحث داخل المصفوفة عن الإمتداد الذي نريده إن وجد فسنسمح برفع الملف أما العكس فأنتم أدرى به

if(in_array($get_type,$type))

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#5

السلام عليكم

شكرا اخواني على التفاعل .

اخي سيف كلامك صحيح , يمكن استخدام طريقتك ايضا .

جزاكم الله خير .

سبحان الله والحمد لله ولا اله الا الله و الله اكبر

اللهم صلي وسلم وبارك على سيدنا محمد وعلى اله وصحبه وسلم

#6

أعتقد بأن كلام الأخ سيف غير صحيح 100%

والسبب في ذلك هو أنني أستطيع (كهاكر) أن أغير لاحقة الفيروس إلى الإمتداد الذي أريده،

وعندما يعالج الموقع الكود، يجده صحيح 100%

حيث أن لاحقة الصورة المفترضة هي jpg لكن في الحقيقة الـ Type الخاص بهذه الصورة ذات الامتداد jpg هو application وليس image

أي أن السيرفر عندها سيكون معرضاً لخطر الإختراق

هذا على ما أعتقده

#7
اقتباس
والسبب في ذلك هو أنني أستطيع (كهاكر) أن أغير لاحقة الفيروس إلى الإمتداد الذي أريده،

ركز في الكود لتجد أني وضعت مصفوفة للإمتدادات المسموحة .

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…