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

الماوردي نت


 
الرئيسيةأحدث الصورالتسجيلدخول

 

 كلاسات الphp:الدرس الرابع: استغلال كلاس رفع الملفات

اذهب الى الأسفل 
كاتب الموضوعرسالة
Manager
مؤسس الموقع
مؤسس الموقع
Manager


. : بيانات اصافية
ذكر
المشاركات : 285
نقاط : 634
التقييم : 0
الانتساب : 14/01/2011

فيس بوك
 :

كلاسات الphp:الدرس الرابع: استغلال كلاس رفع الملفات Empty
مُساهمةموضوع: كلاسات الphp:الدرس الرابع: استغلال كلاس رفع الملفات   كلاسات الphp:الدرس الرابع: استغلال كلاس رفع الملفات Emptyالأربعاء مارس 02, 2011 5:24 am


كلاسات الphp:الدرس الرابع: استغلال كلاس رفع الملفات 09872629446750591141

نستكمل معكم أخوانى زوار موقعنا الكرام, فبعد الانقطاع المطول نظرا للظروف
التى تعرضت لها بلدى الحبيبه مصر, فها أنا أرجع معكم بفضل الله لنستكمل ما
بدأنا به,

فى هذا الدرس سوف نستكمل الجزء الخاص باستغلال الكلاسات الجاهزه,قبل ان
نخوض فى دروس كتابة الكلاسات بأنفسنا,وهذا الدرس هو مثال لاستغلال كلاس
جاهزه وهى

كلاس رفع الملفات ,


قبل ان ابدأ , أذكركم بالدروس السابقة فى سلسلة تعلم كلاسات php:


اولا: حمل ملفات الدرس من هــــــــــــنـــــــــــــا



دعونا الأن نرسم خطة وفهرس شرح الدرس:


1-شرح تركيبة ملف الكلاس upload_class.php
2-شرح مثال عملى لاستغلال الكلاس لعمل اسكربت لرفع الملفات


الان , انظر لهذا المخطط المبسط لنعرف باختصار فكرة الدرس :


كلاسات الphp:الدرس الرابع: استغلال كلاس رفع الملفات 12894306688212245048





اولا: شرح تركيبة ملف الكلاس upload_class.php



كما نرى فى المخطط السابق ان الكلاس هى عبارة عن مجموعة من المتغيرات والفانكشن ......

فى الكلاس سنحدد متغيرات مهمه وهى:

1-متغير خاص باسم الملف المرفوع
2-متغير خاص بالاسم المؤقت للملف المرفوع
3-متغير لمجلد الملف
4-متغير لاعادة تسمية الملف
5-متغير للتحقق من تسمية الملف
6-متغير لتحديد امتداد الملف
7-متغير لتحديد اقصى حجم للملف المرفوع

+متغيرات أخرى ........

رمز Code:

var $the_file; //اسم الملف
var $the_temp_file; // الاسم المؤقت للملف
var $upload_dir; //مجلد الملف
var $replace;// لاعادة تسمية الملف المرفوع
var $do_filename_check; // التحقق من تسمية الملف
var $max_length_filename = 100;
var $extensions; // لتحديد الامتدادت




ثم فانكشنزfunctions للتعامل مع الملف المرفوع:

1-فانكشن لرفع الملف function upload



رمز Code:

function upload($to_name = "") {
$new_name = $this->set_file_name($to_name);
if ($this->check_file_name($new_name)) {
if ($this->validateExtension()) {
if (is_uploaded_file($this->the_temp_file)) {
$this->file_copy = $new_name;
if ($this->move_upload($this->the_temp_file, $this->file_copy)) {
$this->message[] = $this->error_text($this->http_error);
if ($this->rename_file) $this->message[] = $this->error_text(16);
return true;
}
} else {
$this->message[] = $this->error_text($this->http_error);
return false;
}
} else {
$this->show_extensions();
$this->message[] = $this->error_text(11);
return false;
}
} else {
return false;
}
}



2-فانكشن لجلب معلومات الملف المرفوع function get_uploaded_file_info



رمز Code:

function get_uploaded_file_info($name) {
$str = "File name: ".basename($name)."\n";
$str .= "File size: ".filesize($name)." bytes\n";
if (function_exists("mime_content_type")) {
$str .= "Mime type: ".mime_content_type($name)."\n";
}
if ($img_dim = getimagesize($name)) {
$str .= "Image dimensions: x = ".$img_dim[0]."px, y = ".$img_dim[1]."px\n";
}
return $str;
}






+فانكشنز كثيره أخرى ...............



ويمكنك الرجوع لكود الكلاس كاملأ من الملفات المرفقة



الان , عرفنا تركيبة الكلاس الأساسية والاشياء المهمه فى الكلاس........





ثانيا:شرح مثال عملى لاستغلال الكلاس لعمل اسكربت لرفع الملفات


سنقوم الان بعمل اسكربت بسيط لرفع الملفات مستغلين هذه الكلاس السابقة



نشوف صورة للاسكربت :

كلاسات الphp:الدرس الرابع: استغلال كلاس رفع الملفات 32699626736693951560



اولا: دعونا نعرف فكرة الاستغلال:

1-تحديد أقصى حجم للملف المرفوع
2-تحديد مكان المجلد الذى سيتم رفع الملفات بداخله
3-تحديد الامتدادت المسموح برفعها
4-تنفيذ ما سيحدث عند الضغط على زر الرفع submit
5-عمل فورم لرفع اللمفات

نتوكل على الله ونبدأ بالاستغلال.........



1-نستدعى ملف الكلاس:



رمز Code:

include ("upload_class.php");


1a-نسوى متغير جديد لاستخدام الكلاس file_upload المجوده داخل ملف الكلاس


رمز Code:

$my_upload = new file_upload;

2-نحدد اقصى حجم للملف المرفوع


رمز Code:



$max_size = 1024*250;



3-نحدد مكان المجلد الذى سيتم رفع الملفات بداخله :



رمز Code:

$my_upload->upload_dir = $_SERVER['DOCUMENT_ROOT']."/upload/files/";


لاحظ:

رمز Code:

$_SERVER['DOCUMENT_ROOT']

تعنى المجلد الجذر للسيرفر , يعنى www



4-نحدد الامتدادات المسموح برفعها:



رمز Code:

$my_upload->extensions = array(".png", ".zip", ".pdf",".rar");


5-تنفيذ ما سيحدث عند الضغط على زر الرفع submit



رمز Code:

if(isset($_POST['Submit'])) {
$my_upload->the_temp_file = $_FILES['upload']['tmp_name'];
$my_upload->the_file = $_FILES['upload']['name'];
$my_upload->http_error = $_FILES['upload']['error'];
$my_upload->replace = (isset($_POST['replace'])) ? $_POST['replace'] : "n";
$my_upload->do_filename_check = (isset($_POST['check'])) ? $_POST['check'] : "n";
$new_name = (isset($_POST['name'])) ? $_POST['name'] : "";
if ($my_upload->upload($new_name)) {
$full_path = $my_upload->upload_dir.$my_upload->file_copy;
$info = $my_upload->get_uploaded_file_info($full_path);

}
}




تفسير الكود السابق:

1-سنستخدم الحالة الشرطية لتنفيذ فى حالة تم الضغط على الزر


رمز Code:

if(isset($_POST['Submit'])) {
.....
....
...

}



2-نحدد مجلد مؤقت لتخزين الملف المرفوع



رمز Code:

$my_upload->the_temp_file = $_FILES['upload']['tmp_name'];


ملاحظه:
تذكر دالة $_files تستخدم لرفع الملفات والصيغه العامه هى :



رمز Code:

$_files['input name']['name or type or size of uploaded file']


3- نحدد اسم الملف المرفوع


رمز Code:

$my_upload->the_file = $_FILES['upload']['name'];

4-نحدد ما اذا تم تعليم خيار اعادة تسميه الملف ام لا


رمز Code:

$my_upload->replace = (isset($_POST['replace'])) ? $_POST['replace'] : "n";


ملاحظه: تذكر ternary operator المستخدمه فى المثال السابق وهى تحل محل if....else

مثال: الجملة السابقة تساوى بالظبط الجمله الاتيه:



رمز Code:

if(isset($_post['replace'])){

$replace=$_POST['replace'];

}

else
{
$replace="";
}







5-نحدد ما اذا تم كتابة اسم جديد للملف فى خانة اعادة تسمية الملف يتم تنفيذ ذلك , او يتم تركه كما هو بالاسم الاصلى


رمز Code:

$new_name = (isset($_POST['name'])) ? $_POST['name'] : "";


6-ثم نستخدم فانكشن الupload لرفع الملف



رمز Code:

if ($my_upload->upload($new_name)) {
$full_path = $my_upload->upload_dir.$my_upload->file_copy;
$info = $my_upload->get_uploaded_file_info($full_path);

}





7- واخيرا نسوى الفورم الخاص برفع الملفات كما ترونه بالصوره السابقة للاسكربت:




رمز Code:

File upload script:


Max. filesize = bytes.













(without extension!)










كلاسات الphp:الدرس الرابع: استغلال كلاس رفع الملفات 32699626736693951560



بهيك نكون عرفنا بشكل مبسط وخفيف كيفية استغلال كلاس رفع الملفات .........







ترقبوا الدرس القادم ....












الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://mawardi.forum.st
 
كلاسات الphp:الدرس الرابع: استغلال كلاس رفع الملفات
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» الحديث الرابع من الأربعين النووية
» [درس] دورة تصميم ستايل بتقنية css الحديثة [ لعام 2011 ] درس تمهيدي للدورة [الدرس الخامس

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
الماوردي نت :: سلة المهملات :: قسم لغات البرمجة-
انتقل الى: