Untitled 1
 
m1 m
شبكة نساء الجنة الإسلامية
عدد الضغطات : 1,993
عدد الضغطات : 2,303


awlstyle-2 awlstyle-3 awlstyle-1
awlstyle-5
العودة   |: معهد أول ستايل :| > منتدي تطوير المواقع > منتدي تطوير المواقع
awlstyle-4
awlstyle-7 awlstyle-6
awlstyle-9 awlstyle-10 awlstyle-8


إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
awlstyle-2 awlstyle-3 awlstyle-1
awlstyle-5
قديم 12-01-2009, 09:47 AM   #1 (permalink)
:: مطرود من قبل الإدارة ::
Icon15f مركز تحميل لاكن سوف نصنعة بايدينا بلغة php ولابد من الاباتشى

بسم الله الرحمن الرحيم

انا قولت اعرفكم حاجة من لغات البرمجة ازاى ابقى دكتور ومش تتعلمو اى حاجة فيها برمجة تعملوها باديكم فجبت مثال بصيط وهوة مركز رفع ازاى نعملة php و طبعا سكريبت الـ Upload هذا بسيط لدرجة أنه لا يحتوي على أي مميزات غير الـ Upload ، و لا يحتوي حتى على واجهة أو تصميم ، لأن الغرض منه تعليمي فقط .. و تستطيع تطوير السكريبت كما تشاء ..

بعد هذه المقدمة أقول :
أننا سوف ننشئ ملفّين ، أحدهما هو ملف الكونفيق ( Config.php ) و الآخر هو ملف الأبلود ( Upload.php ).

ملف الكونفيق سيحتوي فقط على المسار الذي سنرفع ملفاتنا إليه ( بمعنى أنه سيكون سطر واحد فقط ، اذا استثنينا وسمي <? و ?> .. )

قد يتساءل احدكم لماذا لا نستغني عن ملف الكونفيق و نضع المسار في نفس ملف upload.php ..
الإجابة هي : لأننا سنطوّر السكريبت مستقبلاً بحيث يحتوي على مميزات كثيرة مثل : تخصيص حجم و نوع الملفات المراد رفعها ، إلخ ..

حالياً هذا شكل ملف الكونفيق :


كود:
<?
كود:
$path = "C:\mixxatk";  
// اخترت رفع الملف إلى مجلد مكساتك في السي  
?> 


ملف الـ upload.php سيحتوي على ما يلي :
1 ) وسم بداية كود الـ PHP .
2) استدعاء ملف الكونفيق اللي يحتوي المسار



كود:
<?
كود:
include "config.php";  
?> 


3) إدراج النموذج (الفورم) الخاص باستعراض الملفات لتحميلها و أيضاً نحتاج إلى زر خاص بالتحميل كما يلي :



كود:
<?
كود:
echo "<form method=\"POST\"  
action=\"$PHP_SELF?upload=uploading\"  
  enctype=\"multipart/form-data\">  
  <input type=file name=file size=30><br><br>  
  <button name=\"submit\" type=\"submit\">  
  تحميل</button></form>";  
?> 


طبعاً في هذا الجزء من الكود بعض الغوض ، لذا سأشرحه .
إستخدمنا المتغيّر PHP_SELF$ ، و هذا المتغيّر مبني داخل لغة PHP ووظيفته إرجـاع رابط السكريبت الحالي . إذن نحن في خانة الـ action سنقوم باسترجـاع الرابط الحالي الذي نعمل عليه ثم نضيف إليه upload=uploading؟ .
حيث أن upload و uploading متغيّرات عادية سأقوم بتعريفها لاحقاً .

لاحظوا إننا في هذا النموذج عرّفنا المتغيّرات التالية :
upload -- uploading -- file

الخطوات التـالية

4) الآن نصل إلى نقطة هامة و هي ما ذا يجب أن يفعل السكريبت بعد اختيار المستخدم للملف الذي يريد تحميله ، و ضغطه على زر "تحميل" ؟

السكريبت في هذه الحالة سيختبر الملف ، إذا تم نسخه بشكل صحيح فيسيتم طبـاعة "تم تحميل الملف بنجاح" ، أما إذا لم يتم نسخه بشكل صحيح ستظهر الرسالة "لم تختر الملف بشكل صحيح" ، السبب في الخطأ يعود ربما لخطأ في اختيار الملف المراد تحميله أو من هذا القبيل .

لعمل ذلك سنحتاج الى وضع متغيّر بإسم result$ و نسند له عبارة "تم تحميل الملف بنجاح" ، دون أن نطبع هالرسالة .



كود:
<?
كود:
$result = "تم تحميل الملف بنجاح !!";  
?> 


بعد ذلك نحاول رفع الملف ، إذا تم رفعه بنجاح ستبقى قيمة result$ كما هي ، وإذا كان مشكلة في عملية النسخ سنقوم بتغيير قيمة المتغير result$ لتكون : "لم تختر الملف بشكل صحيح" ، الدالّة التي سنستخدمها لرفع الملفات هي copy و سنضيف قبلها علامة @ لكي نتفادى رسائل التحذير ..




كود:
<?
كود:
@copy($file, "$path/$file_name")    
or $result ="لم تختر الملف بشكل صحيح";  
?> 



كما تلاحظون فدالة الـ copy تاخذ اسم الملف ، الذي عرفناه في النموذج العلوي -- و تاخذ أيضا مسار الملف .
file$ ---> قمنا بتعريفه في النموذج الأول .
path$---> مسار الملف ، و حددناه في الكونفيق .
file_name$ --> هذا المتغيّر يتم إنشاؤه بشكل تلقائي و يحمل اسم الملف الذي نريد نرفعه .

الآن نطبع قيمة result$ و هي إما نجاح عملية التحميل أو فشلها كما يلي :


كود:
<?
كود:
echo "$result";  
?> 


5) نغلق الوسم الخاص بالسكريبت .

الآن السكريبت جاهز ، لكنه يحتوي على مشكلة بدائيّة ، و هي أنه في حالة إما نجاح أو فشل التحميل ، فسوف تظهر نفس الصفحة التي تطلب اختيار الملف المراد تحميله ، و زر التحميل ، و تحت النموذج ستشاهد عبارة النجاح أو الفشل. المطلوب الآن إننا فقط نعرض عبارة نجاح أو فشل دون عرض الفورم الخاص بالتحميل .

لعمل ذلك نحتاج إلى أداة الشرط switch ، نتأكد من خلالها أن المستخدم قد ضغط على زر التحميل ( يعني إن upload=uploading ) ، في هذه الحالة سنستخدم الخطوات المذكورة في الخطوة 4 ، عدا ذلك لا نستخدمها .


كود:
<?
كود:
switch ($upload)  
{  
default:  
// الآن استخدم الخطوات من 1 إلى 3  
break; // و تجاهل أي خيار أو شرط آخر switch هذا لقطع الأمر  
 
case "uploading": // upload=uploading يعني إذا  
// نفذ الخطوة 4  
break;  
}  
// الآن نستخدم الخطوة 5  
?> 



كدة نكون عملنا اول مركز رفع من صنع اديكم

بارك الله فيكم ورعاكم

اخوكم

دكتور كمال محمد محمد

 





   
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
رد مع اقتباس
awlstyle-4
awlstyle-7 awlstyle-6
awlstyle-9 awlstyle-10 awlstyle-8

إضافة رد
Submit Thread >  Submit to AddThisTo Submit to Digg Submit to Reddit Submit to Furl Submit to Del.icio.us Submit to Google Submit to Yahoo! This Submit to Technorati Submit to StumbleUpon Submit to Spurl Submit to Netscape  < Submit Thread


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

الانتقال السريع


الساعة الآن 06:19 AM.

Powered by vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 ,
Ads Management Version 3.0.0 by Saeed Al-Atwi

a.d - i.s.s.w


Alexa Group By SudanSon

ضع ايميلك ليصلك كل جديد في شبكتنا:

Delivered by FeedBurner

خريطة الموقع

معاً لعهد جديد بالداخلية ولنرجع مصرنا آمنة 

FOOTER-2
FOOTER-1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59