درس مفصل : طريقة برمجة صفحة رفع الملفات بروابط مباشرة على السيرفر SERVER
http://www.dzbatna.com/images/icons/iconrote.gif ط¯ط±ط³ : ط·ط±ظٹظ‚ط© ط¨ط±ظ…ط¬ط© طµظپط*ط© ط±ظپط¹ ط§ظ„ظ…ظ„ظپط§طھ ط¨ط±ظˆط§ط¨ط· ظ…ط¨ط§ط´ط±ط© ط¹ظ„ظ‰ ط§ظ„ط³ظٹط±ظپط±
السلام عليكم ورحمة الله وبركاته
صراحة دي أول مرة أشرح طريقة فيها درس مفصل
فاعذروني لو أخطأت أو كان شرح طريقةي غير واضح
زي ما قلت في العنوان سنتعلم اليوم كيفية برمجة صفحة لرفع الملفات على السيرفر SERVER بتاعنا
و بالنسبة لرفعها في قاعدة بيانات فقد قام الأخ Mr.Ajax بشرح طريقةها في الموضوع التالي
حفظ ملف الى داتا بيز MySql
أول حاجة نقوم بتصميم صفحة html تحتوي على فورم الإرسال لصفحة الـhtml
و في الفورم لازم نخلي بالنا من وجود رمز PHP:
enctype="multipart/form-data"
بمعنى إنها تكون بالشكل ده
رمز PHP:
<form action="upload.php" method="post" enctype="multipart/form-data">
و نضع في الفورم خانة اختيار الملف وهي
رمز PHP:
<input type="file" name="file" />
ثم زر الإرسال
بحيث تكون الفورم بالشكل التالي
رمز PHP:
<form action="upload.php" method="post" enctype="multipart/form-data">
Select the file You want to upload
<input type="file" name="file" />
<br />
<input type="submit" name="submit" value="send"/>
form>
ثم نقوم ببرمجة صفحة استقبال ورفع الملف و ليكن اسمها upload.php
أول شيئ نقوم بالتأكد منه هو وجود أخطاء في الملف المرفوع أم لا ؟
وذلك عن طريق الشرط التالي
رمز PHP:
if($_FILES['file']['error']==0){
//بقية الكود code سيوضع هنا..
}
ثم نتأكد من نوع الملف إذا كان مسموح به أم لا حتى لا يرفع أحد ملف شيل أو شيئ http://www.dzbatna.com/images/smilies/crazy.gif
طب ازااااااااااي ؟؟
أول حاجة نعمل مصفوفة تحتوي على أنواع الملفات المسموح بها ..
وليكن ..
رمز PHP:
$available_types=array('image/png','image/jpeg','image/gif','application/octet-stream','application/x-shockwave-flash');
ثم نتأكد إذا كان الملف من ضمن هذه الأنواع أم لا ؟
رمز PHP:
if (in_array($_FILES['file']['type'],$available_types)){
// يوضع الكود code هنا
}
ثم نقوم بجلب محتويات الملف عن طريق الدالة file_get_contents
رمز PHP:
$content=file_get_contents($_FILES["file"]["tmp_name"]);
ثم نستبدل المسافات الموجودة في الاسم ب_ استعدادًا لرفعها
رمز PHP:
$name=str_ireplace(" ","_",$_FILES['file']['name']);
ثم نجعل إذا كان الملف موجود يضيف له أربع أرقام عشوائية بالنهاية
رمز PHP:
while(file_exists($name)){
$name=explode(".",$name);
$dot_before_extention=(count($name)-2);
$random=array(rand(1,9),rand(1,9),rand(1,9),rand(1,9));
$random=implode("",$random);
$name[$dot_before_extention].=$random.".";
$name=implode("",$name);
}
ثم في النهاية نقوم بوضع ملف على السيرفر SERVER بالاسم و البيانات الموجودة
رمز PHP:
$makefile=file_put_contents($name,$content);
if ($makefile){
echo "Added Successfully";
}else{
echo "Error";
}
أرجو أن يكون الدرس مفصل واضح
و الخلاصة أن نقول
أن رفع الملفات يتم عن طريق مصفوفة موجود بلغة البي اتش بي اسمها $_FILES
يحتوي هذه المصفوفة على عدة بيانات منها
1- error وهي للكشف عن وجود أخطاء أم لا
2- name وهو اسم الملف
3- tmp_name وهو عنوان الملف المؤقت
4- type وهو نوع الملف
إذا كان بالدرس مفصل من توفيق فمن الله وحده و إن كان من خطأ أو سهو أو نسيان فمني
و أرجو أن تزدوني بالملاحظات و الدعاء لي و لوالدي بالهداية و التوفيق
أخوكم Abood Nour
التعديل الأخير كان بواسطة 5lykcool.ch; 18 - 02 - 2014 الساعة 23:32
https://fbcdn-sphotos-d-a.akamaihd.n...93518507_n.png
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©