صفحة 2 من 3 الأولىالأولى 123 الأخيرةالأخيرة
النتائج 16 إلى 30 من 34

الموضوع: أول برنامج لي لا يعمل ما هي الاسباب

  1. #16
    عضو نشيط
    تاريخ التسجيل
    Jan 2009
    المشاركات
    60


    صحيح
    واسف انني خرجت على استفسارك
    لا تعتذر
    فانت في صلب الموضوع


    والكود الذي كتبته سيتم اعتماده بعد اجراء بعض التعديلات البسيطة


    شكرا لك ولكل من ساعدني





    __________________
    ابصم

  2. #17
    عضو فعال
    تاريخ التسجيل
    Jun 2002
    المشاركات
    1,346

    Smile



    كود PHP:
    يعني هذا السطر 
    $url
    ==""
    نفس هذا السطر
    empty($url
    نعم.. هما متطابقان..
    لكن الدالة empty تبحث عن بمدى أوسع.. (الصفر أو False أو الفراغ أو فراغ مصفوفة.. الخ)



    هل توجد دالة تعطيني فولس إذا كان المتغير فراق ؟
    يعني نفس هذا السطر

    كود PHP:
    $url!="" 
    أو اقوم بتعريف دالة بنفسي إذا كانت غير موجودة
    لا توجد دالة مباشرة..
    لكن يمكنك نفي الدالة بكل بساطة لتصبح..

    كود PHP:
    if( !empty($url) ){
      print 
    "URL Not Empty";


    ^__^
    بالتوفيق...






  3. #18
    عضو نشيط
    تاريخ التسجيل
    Jan 2009
    المشاركات
    60


    نعم.. هما متطابقان..
    لكن الدالة empty تبحث عن بمدى أوسع.. (الصفر أو False أو الفراغ أو فراغ مصفوفة.. الخ)





    لا توجد دالة مباشرة..
    لكن يمكنك نفي الدالة بكل بساطة لتصبح..

    كود PHP:
    if( !empty($url) ){
      print 
    "URL Not Empty";

    ^__^
    بالتوفيق...
    شكرا لك الآن اصبح كتابه البرنامج اسهل




    ما رايكم الآن في البرنامج بعد اضافة التاكد من وجود الملف

    الدالة fopen مع الامر W تقوم باستبدال الملف أو إنشائه
    كود PHP:
    $fopen=@fopen("$namefile","w"
    لذلك وضعت الشرط إذا كان الملف موجود لا يستبدل الملف إلا بعد الموافقة


    كود PHP:
    // اذا الملف موجود ولم تتم الموافقة على الاستبدال يتم ايقاف البرنامج
    if(file_exists($namefile) && empty($changefile) ){
    echo
    "لم يتم نقل الملف لوجود ملف آخر بنفس الاسم"
    كود PHP:


    <?php 
    $url
    =trim($_POST["url"]); // عنوان الملف المطلوب تحميلة على الموقع
    $namefile=trim($_POST["namefile"]); // اسم الملف المطلوب تحميلة على الموقع (حفظ باسم) 
    $changefile=$_POST["changefile"]; // تحديد الكتابة على الملف إذا كان موجود
    switch($_SERVER['REQUEST_METHOD'])// التحقق إذا قام المستخدم بارسال المعلومات 
    {
    case
    "POST":
        
    // التحقق من ادخال عنوان الملف واسم الملف 
        
    if( !empty($url) && !empty($namefile) ){ 
            
    // التحقق إن كان عنوان الملف صحيح ويمكن نقلة 
            
    if( $file=@implode(file($url)) ){ 
            
    // اذا الملف موجود ولم تتم الموافقة على الاستبدال يتم ايقاف البرنامج
                
    if(file_exists($namefile) && empty($changefile) ){
                    echo
    "لم يتم نقل الملف لوجود ملف آخر بنفس الاسم";  
                 }else{
                   
    // اذا تم انشاء الملف 
                     
    if( $fopen=@fopen("$namefile","w") ){ 
                    
    // اذا تمت الكتابة في الملف 
                         
    if( fwrite($fopen,$file) ){ 
                            echo 
    "ممتاز لقد تم حفظ الملف بنجاح"
                         }else{ 
                            echo 
    "هناك خطأ في حفظ الملف"
                             } 
                          
    fclose($fopen);
                     }else{ 
                         echo 
    "عفوا لم يتم انشاء هذا الملف "
                         }
                 }          
               }else{ 
                echo 
    "عفوان عنوان الصفحة غير صحيح او ان هناك خطأ مجهول"
            } 
         }else{
        echo 
    "يجب كتابة عنوان الملف واسم الملف";
         }
    break;
    default:
    echo 
    "اهلا وسهلا بك في برنامج نقل الملفات";
    break;
    }
    ?>






    __________________
    ابصم

  4. #19


    جميل
    ايضا يجب ازالة حقل اسم الملف وجعله اتوماتيكي يأخذ اسم الصفحة ويحفظه

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





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  5. #20
    عضو نشيط
    تاريخ التسجيل
    Jan 2009
    المشاركات
    60


    جميل
    ايضا يجب ازالة حقل اسم الملف وجعله اتوماتيكي يأخذ اسم الصفحة ويحفظه

    ملاحظة:
    لماذا تصر على اقحام switch مع انك تستطيع كتابة هذا البرنامج بدونه ويكون افضل
    ربما لا أريد أن أجعل الملف بنفس الاسم او ان اسم الملف موجود مسبقا لكن جائتني فكرة وهي إن لم يتم إدخال اسم الملف سيتم الحفظ بنفس الاسم

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

    لان switch عقدتني وتعلمتها بصعوبه :funny: تقدر تقول عني عنيد :court:


    وعلى فكرة هذا البرنامج مشروع لتعلم اللغة وبعدها أدخل في المشروع إلى في راسي






    التعديل الأخير تم بواسطة قمر الشعراء ; 28-02-2009 الساعة 03:56 PM
    __________________
    ابصم

  6. #21
    عضو فعال
    تاريخ التسجيل
    Jun 2002
    المشاركات
    1,346


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

    لكن لم أجد الدالة التي تخرج لي اسم الملف مع امتداده من خلال رابط خارجي وما زلت ابحث عن هذه الدالة
    استخدم basename

    كود PHP:
    $url 'http://www.name.com/category/subg/file.txt';
    print 
    basename($url);  // Prints file.txt 
    إذا كان الملف من نوع PHP مثلاً ويحوي بعض أوامر $_GET يمكنك فلترتها باستخدام ereg


    تحياتي






  7. #22
    عضو فعال
    تاريخ التسجيل
    Jun 2002
    المشاركات
    1,346


    إضافة بسيطة..

    يمكنك استخدام الدالة pathinfo وهي دالة متقدمة أكثر في استخراج النتائج..
    والمخرج عبارة عن مصفوفة تحمل القيم التالية..

    dirname..: وهي تعرض الدومين أو المسار إلى ما قبل اسم الملف
    basename..: تعرض اسم الملف شامل للامتداد
    extension..: تعرض الامتداد فقط
    filename..: تعرض اسم الملف فقط



    هي مثل سابقتها إذ ستحتاج لفلترة اسم الملف أو الامتداد لحذف أي زوائد أو إضافات لـ $_GET

    ===========

    كما هنالك دالة أخرى تقوم بتفصيل اللنك تفصيلا شامللا.. وهي parse_url..
    لمزيد من المعلومات..
    PHP: parse_url - Manual





    ^__^
    تحياتي






  8. #23
    عضو نشيط
    تاريخ التسجيل
    Jan 2009
    المشاركات
    60


    ما شاء الله عليك أخي PHP-Master02 هل عرفت هذه الدوال من خلال البحث أو هي عن طريق الخبرة

    إذا كان عن طريق البحث فأخبرني كيف أبحث :shy:

    مع العلم بحثي يعتمد على اللغة العربية وليس لدي لغة أخرى


    شكرا لك اخي PHP-Master02


    سيتم اختيار الانسب





    __________________
    ابصم

  9. #24
    عضو فعال
    تاريخ التسجيل
    Jun 2002
    المشاركات
    1,346


    السلام عليكم

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

    إذا كنت تعرف ما تحبث عنه..
    كل شيء موجود في الـ Manual الخاص باللغة..
    لا داعي للذهاب إلى أبعد من ذلك..
    PHP: Hypertext Preprocessor

    بالتوفيق إن شاء الله...


    تحياتي






  10. #25
    عضو نشيط
    تاريخ التسجيل
    Jan 2009
    المشاركات
    60


    السلام عليكم

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

    إذا كنت تعرف ما تحبث عنه..
    كل شيء موجود في الـ Manual الخاص باللغة..
    لا داعي للذهاب إلى أبعد من ذلك..
    PHP: Hypertext Preprocessor

    بالتوفيق إن شاء الله...


    تحياتي
    الدالة basename يقتصر عملها على اخراج الملف مع امتدادة فقط لذلك لا تفيد
    الدالة parse_url لم افهم عملها
    الدالة pathinfo هي المناسبة لقد ساعدتني كثيرا في تطبيق الكثير من الافكار
    الموقع Manual معروف لكن لا يساعدني كثيرا لانه ليس بالعربي ابحث عن الدوال به ثم ابحث عن الشرح في المواقع العربية لكي افهم استخدامها وهل ستفيدني هذه الدالة او لا
    الدالة ereg حاولت معرفة طريقة عملها لكن بدون فائدة

    لو كان لدي ملف واريد فلترته كيف اقوم بذلك مثال
    هذا ملف NewsDetails.aspx?id=75906&language=ar
    أو index.php?doWhat=showcook&cookid=186
    تبدا الفلترة من علامة ؟ حتى النهاية





    __________________
    ابصم

  11. #26
    عضو فعال
    تاريخ التسجيل
    Jun 2002
    المشاركات
    1,346


    السلام عليكم..

    بالنسبة لأي نوع من البرمجة..
    إذا كنت تجيد اللغة الإنجليزية فأكيد الاسفتادة منها بتكون أكثر بمرااااااحل..

    أما لكيفية الفلترة..

    كود PHP:
    <?php

    $link 
    "http://www.site.com/path1/folder2/NewsDetails.aspx?id=75906&language=ar";

    // $out المتغير الذي سيحمل المخرج
    $filter eregi("([a-zA-Z0-9]+)\.([a-zA-Z0-9]+)\?",$link,$out);

    print_r($out);
    ?>
    الدالة ereg تستخدم للبحث أو الفلترة..
    الدالة تخرج بـ True أو False.. لكن يمكن تحديد اسم متغير ليحمل النتائج..
    يحمل المتغير الذي قمنا بتحديده صيغة البحث.. ويقوم بتفصيل كل ما حددناهو في الـ pattern داخل المتغير كمصفوفة..

    كود PHP:
    $out[0]:: المطلوب البحث عنه
    $out
    [1]:: اسم الملف
    $out
    [2]:: امتداد الملف 


    تحياتي






  12. #27
    عضو نشيط
    تاريخ التسجيل
    Jan 2009
    المشاركات
    60


    شكرا لك سيتم اجراء الاختبارات على الدالة ليتم تحديد طريقة الاستخدام المناسبة


    الآن ما رئيك بالبرنامج
    تم اضافة التالي
    1- إن لم يقم المستخدم بكتابة اسم الملف فسيتم نقل الملف بنفس الاسم
    2- إذا قام المستخدم بكتابة اسم الملف ولم يكتب الامتداد يتم كتابه الامتداد تلقائي
    3- إن ادخل المستخدم اسم الملف مع الامتداد سيتم التاكد من ان امتداد الملف المطلوب نقلة يطابق الامتداد المسجل في اسم الملف وعند الاختلاف يتم استبدال الامتداد الموجود في اسم الملف بالامتداد الموجود في عنوان الملف (( تخيل ان احد آخر توصل إلى البرنامج غير صاحب الموقع وقام بكتابة اكواد php داخل ملف txt وعند نقل الملف تم استبدال الامتداد من txt إلى php ))
    بالتاكيد وصلت المعلومة
    وإذا لم تصل المعلومة فهذا شرح آخر
    فعند نقل ملف php من موقع لاخر باستخدام هذا البرنامج سيتم نقل الملف لكن الاكواد html
    أما عندما يتم نقل ملف txt به اكواد php فسيتم نقل الملف دون تغيير في المحتوى فقط تغيير امتداد الملف وبهذه الطريقة ادخلت ملف php إلى الموقع بنجاح وهو يعمل لان الامتداد php ووالمحتوى كذلك

    شوف هذا كود البرنامج بعد التعديل

    كود PHP:

    <?php 
    // المتغيرات
    $changefile=$_POST["changefile"]; // تحديد الكتابة على الملف إذا كان موجود
    // المتغيرات المتعلقة باسم الملف
    $namefile=trim($_POST["namefile"]);     // اسم الملف المطلوب تحميلة على الموقع (حفظ باسم) 
    $pnamefile=pathinfo($namefile);        // دالة تقسيم الرابط
    $dnamefile=$pnamefile['dirname'];     // الرابط بدون اسم الملف
    $bnamefile=$pnamefile['basename'];   // اسم الملف مع الامتداد
    $enamefile=$pnamefile['extension']; // امتداد الملف
    $fnamefile=$pnamefile['filename']; // اسم الملف بدون امتداد
    // المتغيرات المتعلقة بعنوان الملف
    $url=trim($_POST["url"]);     // عنوان الملف المطلوب تحميلة على الموقع
    $purl=pathinfo($url);        // دالة تقسيم الرابط
    $durl=$purl['dirname'];     // الرابط بدون اسم الملف
    $burl=$purl['basename'];   // اسم الملف مع الامتداد
    $eurl=$purl['extension']; // امتداد الملف
    $furl=$purl['filename']; // اسم الملف بدون امتداد
    // بداية البرنامج
    switch($_SERVER['REQUEST_METHOD'])// التحقق إذا قام المستخدم بارسال المعلومات 
    {
    case
    "POST":
        
    // التحقق من ادخال عنوان ملف صحيح 
        
    if( !empty($url) && !empty($eurl) ){ 
            
    // التحقق إن كان عنوان الملف صحيح ويمكن نقلة 
            
    if( $file=@implode(file($url)) ){
                 
    // إذا لم يتم ادخال اسم الملف يتم حفظ الملف بنفس الاسم الاصلي 
                 
    if( empty($namefile)){
                 
    $newnamefile=$burl;
                 
    // إذا تم ادخال اسم الملف يتم التاكد من تطابق الامتداد مع الملف الاصلي
                 
    }elseif($eurl==$enamefile){
                 
    $newnamefile=$namefile;
                 
    // إذا لم يتم تطابق الامتداد أو كتابته يتم تغييره أو كتابته
                 
    }else{
                 
    $newnamefile=$fnamefile.".".$eurl;
                 }
            
    // اذا الملف موجود ولم تتم الموافقة على الاستبدال يتم ايقاف البرنامج
                
    if(file_exists($newnamefile) && empty($changefile) ){
                    echo
    "لم يتم نقل الملف لوجود ملف آخر بنفس الاسم";  
                 }else{
                   
    // اذا تم انشاء الملف 
                     
    if( $fopen=@fopen("$newnamefile","w") ){ 
                    
    // اذا تمت الكتابة في الملف 
                         
    if( fwrite($fopen,$file) ){ 
                            echo 
    "ممتاز لقد تم حفظ الملف باسم $newnamefile"
                         }else{ 
                            echo 
    "هناك خطأ في حفظ الملف"
                             } 
                          
    fclose($fopen);
                     }else{ 
                         echo 
    "عفوا لم يتم نقل هذا الملف "
                         }
                 }          
               }else{ 
                echo 
    "عفوان عنوان الملف غير صحيح او ان هناك خطأ مجهول"
            } 
         }else{
        echo 
    "يجب كتابة عنوان الملف";
         }
    break;
    default:
    echo 
    "اهلا وسهلا بك في برنامج نقل الملفات";
    break;
    }
    ?>
    سيتم تامين البرنامج باسم مستخدم وكلمة مرور لكن في مراحل متقدمة في البرنامج فانا لا اريد ان اقوم بتسجيل الدخول كلما اردت اختبار البرنامج

    نرحب باي اقتراحات





    التعديل الأخير تم بواسطة قمر الشعراء ; 01-03-2009 الساعة 11:11 PM
    __________________
    ابصم

  13. #28
    عضو نشيط
    تاريخ التسجيل
    Jan 2009
    المشاركات
    60


    أخي PHP-Master02
    بعد البحث والتحري تم إيجاد طريقة أفضل للفلترة
    كود PHP:
    $filterurl=explode("?",$url);    // دالة لفلترة العنوان
    $purl=pathinfo($filterurl['0']);// دالة تقسيم الرابط 
    تمت اضافة السطر الاول والتغيير في السطر الثاني

    إلى الان البرنامج يواجه بعض المشاكل
    مثلا لو قام المستخدم بإضافة الرابط بهذه الطريقة http://www.swalif.net
    سيتم اعتبار ان اسم الملف www.swalif.net
    والامتداد net
    واسم الملف بدون الامتداد www.swalif
    الرابط بدون اسم الملف http:
    وسيتم انشاء ملف باسم www.swalif.net إن لم يقم بكتابه اسم للملف
    أما إذا قام بكتابة اسم الملف فسيكون الامتداد الخاص به هو net
    لكن هذه المشكلة غير مهمه إن لم اجد لها حل لان المستخدم هو صاحب الموقع وعند نقل اي ملف لن يقوم بكتابه الرابط بهذه الطريقة
    وان كتبها بهذه الطريقة فهي مشكلته :funny: وليست مشكلة البرنامج


    قريبا مميزات اضافية

    نتقبل اقتراحاتكم للبرنامج
    ونتقبل نقدكم لطريقة كتابة الاكواد





    التعديل الأخير تم بواسطة قمر الشعراء ; 02-03-2009 الساعة 01:34 PM
    __________________
    ابصم

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


    السلام عليكم..

    جميل جدا..
    طلع من بالي فكرة explode..
    بالتوفيق دائما..



    بالنسبة لمشكلة كتابة العنوان..
    امممممم.. :con2:


    ما عندي حل معين في راسي حاليا..
    لكن هذا أول حل وصلت له..
    :1power:
    استخدم خانتين منفصلتين عند إدخال عنوان الملف..
    الأول:: نطاق الموقع (الدومين)
    الثاني:: بقية العنوان..

    مثلا إذا كان العنوان المراد جلبه هو..
    كود:
    www.swalif.net/folder/page.php
    الحقل الأول يتم إدراج فيه دومين سوالف
    كود:
    www.swalif.net
    والثاني يتم إدراج بقية العنوان
    كود:
    folder/page.php


    :eek2:
    في أمان الله






  15. #30
    عضو نشيط
    تاريخ التسجيل
    Jan 2009
    المشاركات
    60


    لقيت الحل :app:

    عندما يساوي المتغير
    كود PHP:
    $durl=$purl['dirname'];     // الرابط بدون اسم الملف 
    http: أو ftp: يتم ايقاف البرنامج ويخبره بان عنوان الملف غير صحيح :app:

    لدي فكرة :eek2: إن تم تنفيذها سيتغير البرنامج كليا

    الان ساتعلم الجلسات واحمي البرنامج باسم مستخدم وكلمة مرور





    التعديل الأخير تم بواسطة قمر الشعراء ; 02-03-2009 الساعة 10:12 PM
    __________________
    ابصم





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

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

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