النتائج 1 إلى 5 من 5

الموضوع: [درس] برمجـة مركـز تحميـل متكامــل !!

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Jul 2007
    المشاركات
    196

    [درس] برمجـة مركـز تحميـل متكامــل !!



    السلام عليكم

    في البدايه اعجبني هذا الدرس وحبيت اطرحه للفائده ولو كانت بسيطه ..
    حتى تستطيع ان تبرمج سكربت تحميل الملفات بنفسك .. وبعدين في نهايه هذا الدرس بيكون السكربت بسيط جدا .. لكن فيما بعد بعد ما تفهم الطريقه وكيفيه انشاءه .. سوف تقوم بإضافه اضافات خفيفه .. مثل عدد الصور في القاعده وعدد لمتواجدون حالياً والخ .. وتصمم له استايل ايضا .. سوالف بسيطه هذي بس اهم شي يا اخوان كيفيه برمجته
    وان شاء الله يعجبكم يارب .. وحفظاً للحقوق الدرس منقول من أخوانا في http://www.php-ar.com[/COLOR]

    بسم الله ..

    سنتعلم كيف ننشيء ملف ويتم عن طريقة تحميل الملفات من الجهاز

    اولا سنحتاج الى عمل فورم بسيط فيه حقل لاستعراض الملف من الجهاز ، وزر لارسال الملف ..[/FONT]
    كود PHP:
    <form method='POST' enctype='multipart/form-data' action='up.php'>
    <
    input type='file' name='fileup' size='20'>
    <
    input type='submit' value='تحميل'>
    </
    form
    احفظ الكود السابق في صفحة html باي اسم :in_love:

    ملاحظات على الكود :
    1. تم تعين اتجاه الفورم الى صفحة up.php .
    2. الكود التالي :

    كود PHP:
    enctype='multipart/form-data' 
    هو الكود الخاص بعرض حقل الاستعراض لاختيار الملف .
    3. اسم حقل الملف هو fileup .

    الان نأتي الى كود صفحة up.php

    اولا سنحتاج الى تعريف ( المسار ) لتحميل الملفات ..


    لمعرفة المسار ضع الكود التالي باي صفحة php
    كود PHP:
    <?
    echo realpath("files");
    ?>
    وغالبا اكثر المواقع يكون المسار لها هو

    استبدل User باسم الدخول الى حساب ftp لموقعك .. مع وضع ملف files بالمجلد www مباشرة . او ضع المسار الصحيح للمجلد ..

    سنضع المسار بمتغير :
    كود PHP:
    <?
    $path 
    "/home/[COLOR="red"]User[/COLOR]/public_html/files";
    ?>
    ايضا سنضيف الى المسار اسم الملف وهو تلقائي معرف من php كالتالي :
    كود PHP:
    $path .= "/$fileup_name"

    الان طريقة تحديد الامتدادات المسموحه
    نضع الامتدات بمتغير مصفوفه ...
    :nosweat:
    كود PHP:
    $alemtdadat = array('.gif','.pmb','.jpg','.jpgf','.zip'); 
    الان نظهر امتداد الملف المختار عن طريق هذه الدالة strrchr();
    كود PHP:
    $att strrchr($fileup_name,'.'); 
    و وضعناه بمتغير جديد ..

    الان نستخدم دالة in_array() للتأكد من وجود امتداد الملف في الامتدادات المصفوفه حقنا ..
    كود PHP:
    if(! in_array($att,$alemtdadat)){
    echo 
    " عفوا هذا الامتداد غير مسموح به !!";
    }else{
    // البقية 
    الان طريقة تحديد حجم الملف ..
    نضع متغير جديد فيه اكبر حجم مسموح به
    كود PHP:
    $maxsize "81920"
    // تعادل 80 كيلوبايت 
    الان نطلع حجم الملف المختار عن طريق دالة filesize();
    كود PHP:
    $file_size filesize($fileup); 
    الان نعمل شرط اذا كان حجم الملف اكبر من الحجم الاكبر المحدد من قبل المدير نطلع له رساله توضح بذلك .

    وبالتالي حدث تغير على الكود السابق
    كود PHP:
    if(! in_array($att,$alemtdadat)){
    echo 
    " عفوا هذا الامتداد غير مسموح به !!";
    }else if(
    $file_size $maxsize ){
    echo 
    " حجم الملف المختار اكبر من الحجم الاقصى ";
    }else{

    // بقية الملف 
    سنستخدم دالة copy لنسخ الملف وطريقة كتابتها كالتالي :
    كود PHP:
    $CopyFile copy($fileup,"$path"); 
    الان سنعمل كود لمعرفة نتيجة الكود السابق ان تم تحميل الملف سنظهر له رسالة بنجاح التحميل مع رابط الملف المحمل ..
    كود PHP:
    if($CopyFile){

    echo 
    " تم تحميل الملف بنجاح ، رابط الملف : ";
    echo 
    "<a href='http://$HTTP_HOST/$fileup_name'>http://$HTTP_HOST/$fileup_name</a>";

    }else{

    echo 
    " لم يتم تحميل الملف ";


    نقفل الوسوم
    كود PHP:

    }

    الان كود up.php كامل :icon30:
    كود PHP:
    <?
    if($fileup == ""){
    ECHO 
    " قم باختيار الملف المراد تحميله ";
    }else{
    $path "/home/User/public_html/files";

    $path .= "/$fileup_name";

    $att strrchr($fileup_name,'.');
    $alemtdadat = array('.gif','.jpg','.jpgf','.zip','.rar');
    $maxsize "81920";
    $file_size filesize($fileup);

    if(! 
    in_array($att,$alemtdadat)){
    echo 
    " عفوا هذا الامتداد غير مسموح به !!";
    }else if(
    $file_size $maxsize ){
    echo 
    " حجم الملف المختار اكبر من الحجم الاقصى ";
    }else{

    $CopyFile copy($fileup,"$path");

    if(
    $CopyFile){

    echo 
    " تم تحميل الملف بنجاح ، رابط الملف : ";
    echo 
    "<a href='http://$HTTP_HOST/files/$fileup_name'>http://$HTTP_HOST/files/$fileup_name</a>";

    }else{

    echo 
    " لم يتم تحميل الملف ";

    }
    }
    }

    ?>

    مع التحيه







  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    731


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

    الكود يسمح برفع ملفات Shell على السيرفر

    يجب الإهتمام بالجوانب الأمنية





    __________________
    Saudi Wanderer
    My Blog : SWanderer

  3. #3
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    259


    عزيزي انت استخدمت خاصية copy في نسخ الملف

    أظن يجب استخدام move_uploaded_file

    لأن Copy لا تعمل بعض الأحيان اما تكو ناخلاصية مغلقة أو شيئا ما





    __________________
    أسم الشركـه : قمـة العـرب
    صاحب الشركه : محمد أسماعيل - أميرة محمد
    أداء الشركـه:إستضافه وأضافة مواد للمواقع ومحتويات
    بريد الشركـه:admin@arab4top.com
    موقع الشركة:www.arab4top.com

  4. #4


    مثل ماذكر الأخوان بإمكان التحايل واستخدام ملفات بلغة php

    ودالة الكوبي معطله في اغلب خوادم الphp للحماية

    بنظري لو استخدمت دوال الإفتي بي افضل






  5. #5
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    98


    مشكور أخي

    داله copy تم تعطيلها أفتراضيا في php5 على ما أظن " أي وضعت في Safe mode " لأعتبارها داله غير أمنه

    هذا والله أعلم





    __________________
    PHP-TIGER
    professional php Coder
    Mu4all.com





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

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

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