صفحة 2 من 2 الأولىالأولى 12
النتائج 16 إلى 25 من 25

الموضوع: عمل صفحة تحميل صور

  1. #16
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    538


    أخويه يا الكابتن ......

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

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

    لذلك نحن نفكر في عمل صفحة خاصة بالمنتدى لتحميل الصور مثل التي ذكرتها في الأعلى.





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

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



    للرفــــــــــــــــــــــــــــــــــــــــــــــ ــــــــــــع






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

  3. #18


    في الواقع لا أعرف ما هي المشكلة فموقعي موجود على نفس الخادم ويمكنك تحميل الملفات عن طريقه بشكل كامل باستخدام دالة:

    move_uploaded_file($tmpname,$destination)

    يعني هنا مثلاً :
    http://mhdyousif.host.sk/gba/gbaroms.php?action=add
    استخدمت هذه الدالة لتحميل صورة (ويمكنك تحميل أي شيئ آخر حسب ما تريد، يعني استقبل الملف المحمل من المتصفح بكود PHP يتأكد من شروط الملف التي تحددها أنت -حجمه،نوعه..- ثم ينسخ الملف من الدليل المؤقت على الخادم إلى المكان الذي تريده.
    بالنسبة لحالتي مثلاً، فأنا أريد أن يكون الملف المحمل صورة فقط ، حيث أجعله يرفض أي نوع آخر غير الصور من نوع jpg,gif,png

    يعني لو نظرت على كود الـHTML الناتج عن :
    http://mhdyousif.host.sk/gba/gbaroms.php?action=add

    ستجد به التالي :

    <form ENCTYPE="multipart/form-data" method="post" action=gbaroms.php?action=data_add">

    لاحظ التشفير المستخدم ، وهذا لجعل المتصفح يرسل الملف بصورة صحيحة

    وأيضاً:
    <input type="hidden" name="MAX_FILE_SIZE" value="102400">
    <input type="file" name="image_file">
    حيث image_file سيكون هو الاسم الذي يمكن من خلاله الوصول إلى الملف من كود PHP
    وأول خانة تحدد اكبر حجم ممكن للملف(لا تعتمد على هذه كثيراً فيمكن التلاعب بها)

    بعد ذلك يمكنك استقبال الملف من خلال كود php

    يمكنك الوصول إلى بيانات عن الملف من خلال مصفوفة $_FILES

    ملحوظة: إذا كانت إصدارة PHP على الخادم أقل من 4.1.0 استخدم مصفوفة $HTTP_POST_FILES بدلاً منها
    السبب في تفضيل $_FILES هي أنها Superglobal يعني يمكنك الوصول إليها من الدوال الفرعية بدون الحاجة إلى عمل global لها

    إذا كان image_file هو الاسم الذي اخترته بأعلى :

    $_FILES['image_file']['type']
    يرجع نوع الملف الذي يرسله المتصفح MIMETYPE مثلاً image/gif

    $_FILES['image_file']['size']
    يرجع حجم الملف

    $_FILES['image_file']['tmp_name']
    يرجع الملف الذي تم تحميله على دليل مؤقت على الخادم مثلاً /tmp/mypic.gif ويمكنك نسخه أو نقله إلى المكان الذي تريده

    $_FILES['image_file']['name']
    يرجع اسم الملف على جهاز الشخص الذي يقوم بعملية التحميل



    مثلاً في حالتي :






    //يجب أن أتأكد من أن الملف هو صورة من نوع jpg,gif أو png

    $image_type=$_FILES['image_file']['type'];
    if ($image_type!="image/gif" && $image_type!="image/jpeg" && $image_type!="image/pjpeg" && $image_type!="image/png") {
    echo "عذراً، يجب أن تكون الصورة على هيئة JPG أو GIF أو PNG ، من فضلك اضغط زر الرجوع للخلف في المتصفح لإعادة المحاولة";
    include("../footer.inc.php");
    return;
    }


    //يجب أن أتأكد من أن حجم الملف لا يزيد عن 102400 بايت (100 كيلوبايت)

    if ($_FILES['image_file']['size']>102400) {
    echo "عذراً، يجب ألا يزيد حجم الصورة عن 100 كيلوبايت. من فضلك اضغط زر الرجوع للخلف في المتصفح لإعادة المحاولة.";
    include("../footer.inc.php");
    return;
    }



    //استبدال المسافة الواحدة بعلامة _
    $shot=str_replace(" ","_",$_FILES['image_file']['name']);

    //التأكد من عدم احتواء اسم الملف على مسافات
    $shot=trim($shot);

    //التأكد من عدم احتواء اسم الملف على علامة :
    $shot=str_replace(":","-",$shot);

    //التأكد من عدم احتواء اسم الملف على علامة slash
    $shot=str_replace("/","",$shot);

    //جعل اسم الملف بحروف صغيرة
    $shot=strtolower($shot);


    //الآن يتم نقل الملف من الدليل المؤقت إلى المكان الذي تريده
    if (!move_uploaded_file($_FILES['image_file']['tmp_name'],"/mnt/host-users/mhdyousif/images/gba/previews/".$shot)) {
    echo "عذراً، حدث خطأ أثناء تحميل الصورة، يرجى إعادة المحاولة.";
    include("../footer.inc.php");
    return;
    }
    echo "تمت عملية التحميل بنجاح";


    ملاحظة: يمكن استخدام دوال أخرى لنسخ الملف ولكن هذا سيتطلب منك التأكد أولاً من أن الملف حقيقي ثم النسخ ثم مسح الملف المؤقت في حين تختصر دالة move_uploaded_file كل ذلك في خطوة واحدة




    ربما لم تعمل خاصية تحميل الملفات بسبب استخدامها لطريقة عتيقة عفى عليها الزمن للوصول إلى بيانات الملف وهي استخدام المتغير $image_file مباشرة بدلاً من استخدام المصفوفة: $_FILES

    ولذلك حاول تعديل مثل هذه المتنديات لكي تكون متوافقة مع إصدارات PHP الحديثة
    بالنسبة لي فالمرفقات تعمل بشكل كامل في المنتدىالخاص بي هنا:
    http://emu4arab.host.sk





    محمد_يوسف111 غير متواجد حالياً

  4. #19
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    538


    ما شاء الله عليك يا محمد_يوسف111

    الظاهر المشكلة راح تنحل بوجودك

    أخي الحبيب الكلام الذي تفضلت به جميل ولكن أكبر من مستوانا أتمنى أن تسهل علينا شوي لو سمحت وتكرمت.

    يعني ما هي التعديلات التي يجب أن أفعلاها في ملفات Vb





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

  5. #20


    هممم...، الكود المسؤول عن تحميل الملف هو في :
    admin/functions.php
    تحديداً في دالة acceptupload

    الـPHP في host.sk يعمل على Safe Mode وهذا يعني ببساطة أنه لا يمكنك الوصول إلى الملفات التي لم تنشأها بنفسك
    عندما ترفق ملف يقوم الـPHP بنسخه تلقائياً إلى دليل مؤقت (/tmp مثلاً أو حسب ما هو محدد في ملف الإعداد php.ini )
    بعد ذلك يحاول الـvb فتحه فيمنعه الـPHP لأن هذا الملف غير مملوك لك (لم تنشأه أنت)

    ولكن لحسن الحظ أدرك مبرمجو الـvb ذلك وجعلوا هناك فحص للمتغير $safeupload فإذا كان 1 فإنه يقوم بنسخ الملف أولاً إلى دليل مؤقت (وبهذا تكون أنت مالك هذا الملف) ومن ثم يفتحه

    الحل إذن أن تبحث في إعدادات vb من لوحة التحكم عن خيار إذا كان الـPHP في Safe Mode (وضعية الامان) وتأكد من اختيارك لـSafe Mode


    بالمناسبة لاحظت أن vb ينسخ الملف في قاعدة البيانات بدلاً من وضع رابطة لللملف فقط ونسخ الملف بطريقة عادية
    وهذا وإن كان أسرع إلا أنه سيستهلك مساحة قاعدة البيانات لديك بشراهة خاصة إذا كنت ترفق ملفات كثيرة





    محمد_يوسف111 غير متواجد حالياً

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


    أخي مشكووووووووور

    مثل ما قلت إن المرفقات يأخذ منها نسخة لقاعدة البيانات ... وهذا يكبّر حجم قاعدة البيانات مما يجعل أخذ نسخة إحتياطية صعب جداً.

    لذلك سوف أكتفي بصفحة جانبية لإرفاق الملفات.
    (ووجدت الهاك المناسب ... ويعمل على نفس الخادم)

    ملف مرفاق.

    شكراً لك يا أخي محمد_يوسف111 تعبتك معاي
    الله يجازيك ألف خير





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

  7. #22


    ربما - إذا توفر لدي وقت - أحاول تعديل الـvBulletin ليمكنه نسخ الملفات بطريقة عادية بدلاً من وضعها في قاعدة البيانات


    بالنسبة للبرنامج phpimag فقد عدلته ليمكنه العمل مع host.sk وهو مرفق

    وإن كنت أنصح باستخدام منتدى phpBB بدلاً من vBulletin فهو ينسخ الملفات بطريقة عادية ولا يضعها في قاعدة البيانات





    محمد_يوسف111 غير متواجد حالياً

  8. #23
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    538


    رد مقتبس من محمد_يوسف111
    ربما - إذا توفر لدي وقت - أحاول تعديل الـvBulletin ليمكنه نسخ الملفات بطريقة عادية بدلاً من وضعها في قاعدة البيانات

    والله نكــــــــــــــون لك شاكرين ونقول لك الله يعطيك ألف ألف ألف ألف ألف × 100000000000000000000000000000000000000000000 × 100000000000000000000000000000000000000000000 × 100000000000000000000000000000000000000000000 × 100000000000000000000000000000000000000000000 × مالا نهاية يعطيك العافية والصحة والخير

    ونحن في الإنتظار





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

  9. #24
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    538


    حبيبي محمد_يوسف111 ... ها ويش صار معاك

    هل باشرة العمل ... حبيت أطمأن يا حبيبي

    الله يقويك





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

  10. #25


    الحمد لله كله تمام
    وشكراً على كل هذه التماني

    http://www.swalif.net/softs/showthre...093#post183362





    محمد_يوسف111 غير متواجد حالياً





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

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

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