صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 24

الموضوع: درس عمل سكريبت upload بسيط !!

  1. #1

    درس عمل سكريبت upload بسيط !!



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

    هذا أول موضوع لي في سوالف ، و ان شاء الله ما راح يكون الأخير ..

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

    و قريبا ان شاء الله راح أنتهي من تطويره ، لأني احتاجه ..

    طبعا أكواد php اللي في المنتدى هنا مقلوبة مدري ليش !

    ----------------------------------------------------------------------------

    بعد هالمقدمة أقول :

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

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

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

    حاليًا هذا شكل ملف الكونفيق :
    كود PHP:
    <?PHP
    $path 
    "C:\\lahloob"//اخترت رفع الملف إلى مجلد لهلوب في السي
    ?>
    -----------------------------------------------------------------------

    ملف upload.php راح يحوي الأشياء التالية :

    1 ) وسم بداية كود الـ PHP
    كود PHP:
    <?PHP
    2) استدعاء ملف الكونفيق اللي يحتوي المسار
    كود PHP:
    include "config.php"
    3) إدراج النموذج (الفورم) الخاص باستعراض الملفات لتحميلهاو أيضا نحتاج إلى زر خاص بالتحميل
    كود PHP:
    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 و نسند له عبارة "تم تحميل الملف بنجاح" ، دون أن نطبع هالرسالة.
    كود PHP:
     $result "تم تحميل الملف بنجاح !!"
    ثم بعد ذلك نحاول رفع الملف ، إذا تم رفعه بنجاح ستبقى قيمة $result كما هي، أو نسند لـ $result قيمة جديدة و هي : "لم تختر الملف بشكل صحيح"
    الدالّة اللي راح نستخدمها لرفع الملفات هي copy و سنضيف قبلها علامة @ عشان بس نتفادى رسائل التحذير ..
    كود PHP:
     @copy($file"$path/$file_name")  or $result ="لم تختر الملف بشكل صحيح"
    كما تلاحظون فدالة الـ copy تاخذ اسم الملف ، اللي عرفناه في النموذج العلوي -- و تاخذ أيضا مسار الملف.
    $file ---> عرّفناه في الفورم الأول
    $path---> مسار الملف ، و حددناه في الكونفيق
    $file_name --> هذا المتغيّر يتم إنشاؤه اوتوماتيكيا و يحمل اسم الملف اللي نبغى نرفعه

    الآن نطبع قيمة $result و هي إما نجاح التحميل أو فشله :
    كود PHP:
     echo "$result"
    5) نغلق الوسم الخاص بالسكريبت :
    كود PHP:
    ?> 
    --------------------------------------------------------------

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

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

    كود PHP:
    switch ($upload)
    {
    default: 
    //الآن استخدم الخطوات من 1 إلى 3
    break; // هذا لقطع الأمر switch و تجاهل أي خيار أو شرط آخر

    case "uploading"//يعني إذا upload=uploading
    نفذ الخطوة 4
    break;
    }
    الآن نستخدم الخطوة 5 
    -------------------------------------------------------------------
    ملف upload موجود في المرفقات للتسهيل ، و لأن الأكواد في المنتدى مقلوبة..
    نسألكم الدعاء في هالشهر الفضيل ، و تقبل الله صيامنا و صيامكم ، و قيامنا و قيامكم..





    الملفات المرفقة الملفات المرفقة
    اللهلوب غير متواجد حالياً


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    237


    بارك الله فيك اخوي لهلووب على الدرس الجميل

    ياليت تكون كل الدروس على الشكل هذا

    وعضم الله اجرنا واجرك في هذا الشهر الفضيل

    تقبل تحياتي وتقديري





    __________________
    :)
    Suljum غير متواجد حالياً

  3. #3
    عضو جديد
    تاريخ التسجيل
    Nov 2002
    المشاركات
    2


    شرح ممتاز





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك
    TODO غير متواجد حالياً

  4. #4


    أشكرك





    __________________
    عزوز الحسني
    أبو ماجد الصارم غير متواجد حالياً

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    96


    هذه افضل مقاله لهذا الشهر

    يعطيك الف عافية اخوي

    وارجو انك تستمر في الدروس


    بالتوفيق





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك
    Limited غير متواجد حالياً

  6. #6
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2002
    المشاركات
    355


    بدايه موفقه

    وانشالله تستمر معانا بالدروس الجميله الطيبه هذي





    __________________
    اللهم ارحم شهدائنـا

    دع الخلــق للخــــالق

    ســــــأعود بشكل جديد
    Skuwait غير متواجد حالياً

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    Jul 2002
    المشاركات
    624


    رد مقتبس من me.max
    بارك الله فيك اخوي لهلووب على الدرس الجميل

    ياليت تكون كل الدروس على الشكل هذا

    وعضم الله اجرنا واجرك في هذا الشهر الفضيل

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





    __________________
    ستفيد يوما لتستفيد ايام :aoot says
    The following message could not be delivered to all recipients:
    ستفيد يوما لتستفيد ايام
    aoot غير متواجد حالياً

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Nov 2000
    المشاركات
    411


    بارك الله فيك وجزاك الله خير على هذا الدرس الرائع.





    زاجل غير متواجد حالياً

  9. #9
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,239


    شكراً لك اخي العزيز لهلووب نت

    والله درس رائع
    والسكربت نفسه كثير ما بحث عنه الشباب

    مشكور ونتمنى المزيد

    تحياتي





    __________________
    شبكة قلعة العرب
    http://www.arabscastle.com
    ===============
    في دمشق كل شي غير!
    قلعة العرب غير متواجد حالياً

  10. #10
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    693


    رد مقتبس من زاجل
    بارك الله فيك وجزاك الله خير على هذا الدرس الرائع.






    php master غير متواجد حالياً

  11. #11
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2001
    المشاركات
    334


    شكرا لك عزيزي موضوع مهم وجميل وشرح رائع ونطمع بالمزيد ..

    تحياتي
    ice





    __________________
    :: الامارات ::
    ice غير متواجد حالياً

  12. #12
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2001
    المشاركات
    516


    شي رائع جدا ومميز .. بارك الله فيك وجزاك عنا خير الجزاء

    وننتظر منك المزيد دوما ...





    __________________
    واعمل لدار البقا رضوانُ خازنُها - الجارُ أحمدُ والرحمنُ بانيها
    أرضٌ لها ذهبٌ والمسكُ طينتُها - والزعفرانُ حشيشٌ نابتٌ فيها
    أحمدُ دلالُها والربُ بائعُها - وجبريلُ ينادي في نواحيها
    من يشتري الدار بالفردوس يعمرُها - بركعة في ظلام الليل يحييها
    جاكوار غير متواجد حالياً

  13. #13


    me.max ، TODO ، أبو ماجد الصارم ، Limited ، Skuwait ، aoot ، زاجل ، قلعة العرب ، ice ، php master ، جاكوار ..

    تسلمون يا اخوان و الله يعطيكم العافية على الحضور الطيّب -- و ان شاء الله سترون السكريبت بعد الإضافات عليه..





    __________________
    al7amdan AT gmail
    اللهلوب غير متواجد حالياً

  14. #14
    عضو فعال
    تاريخ التسجيل
    Jul 2002
    المشاركات
    1,557


    مشكور اخوي شرح مميز جدا اذا تسمح اضيفه في الدروس الي عندي ؟





    __________________
    هل تبحث عن نطاقات مميزة, لها معنى؟
    إذا ما رأيك بإلقاء نظرة على هذه الباقة..
    XPlus غير متواجد حالياً

  15. #15


    العفو أخي plus ..

    و حلالك





    __________________
    al7amdan AT gmail
    اللهلوب غير متواجد حالياً





ضوابط المشاركة

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

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض