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

الموضوع: سكربت اختصار الروابط من برمجتي

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Apr 2008
    المشاركات
    274

    Talking سكربت اختصار الروابط من برمجتي



    اسعد الله اوقاتكم بكل خير

    زي ماهو واضح بالعنوان سكربت اختصار روابط مثال عليه :

    http://azazah.net/index.php

    تحميل سكربت ملف واحد انسخ :


    كود PHP:
    <?php
    $params 
    = array();
    if ( !empty( 
    $_POST ) )
    {
        
    $params array_merge$params$_POST );
    }
    if ( !empty( 
    $_GET ) )
    {
        
    $params array_merge$params$_GET );
    }
    $url =  $params['url'];
    if ( isset( 
    $params['Go'] ) )
    {
        
    $domain 'http://'.$_SERVER['HTTP_HOST'];
        if ( !
    $params['url'] )
        {
            
    header("location: index.php");
        }
        else
        {
            
    $folder =  generate_folder();
     
            while ( !
    is_dir$folder ) )
            {
                
    $folder =  generate_folder();
                
    mkdir$folder0777 );
     
                
    $file   $folder.'/index.php';
     
                
    $handle fopen$file'w' );
     
                
    $http = ( substr$_POST['url'], 0) != 'http://' 'http://'.$url :  $url );
     
                
    fwrite$handle'<meta http-equiv="refresh" content="0;url='.$http.'" />' );
     
                
    fclose$handle );
            }
            echo 
    'copy your short link <input type="text" size="30" name="url[link]" value="'.$domain.'/'.$folder.'">';
     
            echo 
    '<br />';
     
            echo 
    '<a href="index.php">Go To Back</a>';
     
            exit;
        }
    }
    function 
    generate_folder()
    {
        
    $result null;
     
        
    $lowercase = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','q','r','s','t','u','v','x','y','z');
     
        
    $uppercase = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','Q','R','S','T','U','V','X','Y','Z');
     
        for ( 
    $i 0$i <= 2$i++ )
        {
            
    $result .= $lowercase[rand0count$lowercase ) - )] . $uppercase[rand0count$uppercase ) -)];
        }
        return 
    $result;
    }
    ?>
    <html><title>Short Url</title>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    short url <input type="text" name="url" size="30">
    <input type="submit" name="Go" value="Go!">
    </form></html>
    ورفعه باسم index.php ،

    وسلام عليكم





    __________________
    اكثر موضوع اضحكني في سوالف سوفت :

    http://www.swalif.net/softs/swalif30/softs216357/


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


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


    ما شاء الله عليك برمجة جميلة




    لكن انا عملتها بطريقة اخرى:

    الفكرة ان يتم الاستفادة من ال api لمواقع التقصير مثل tinyurl:

    وبذلك لا حاجة لقواعد بيانات او انشاء ملفات(كنت ايضًا تستطيع استخدام قواعد sqlite)

    هذه دالة مستقاة من دالة كان قد وضعها الاخ bruce

    كود PHP:
    function tiny($link){
        
    $url = @file_get_contents("http://tinyurl.com/api-create.php?url={$link}");
        return 
    $url;

    وهي تاتي بالرابط المقصر من موقع tinyUrl

    كيف يمكن الاستفادة منها:

    نفرض اننا نريد تقصير الرابط التالي:

    http://www.swalif.net/softs/

    سوف نشغل الدالة وتعطي الناتج
    http://tinyurl.com/23wnac
    والرابط المقصر الخاص بموقعنا سوف يكون بالشكل التالي:
    http://localhost/short/23wnac

    هل فهمت العلاقة؟؟؟

    نستخدم ملف htaccess لاعادة التحويل من موقعنا لموقع tinyurl

    الذي سيأخدنا للرابط الذي تم تقصيره سابقًا بالطريقة التالية:
    كود PHP:
    RewriteEngine on
    RewriteRule 
    ^([a-zA-Z0-9]+)$ http://tinyurl.com/$1 [R,L] 
    الملف في المرفقات





    التعديل الأخير تم بواسطة ahmad sadiq ; 12-05-2011 الساعة 02:17 AM

  3. #3
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,775


    هذا هو الابداع
    جزاكم الله خير






  4. #4
    عضو نشيط
    تاريخ التسجيل
    Apr 2010
    المشاركات
    119


    جزاكم الله خيرا..............






  5. #5


    تسلم عزيزي جزاك الله خيرا





    __________________
    شركة سكال ويب

    www.scalweb.com

    الاتصال بنا : أضغط هنا .

  6. #6
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    6


    جزاك الله كل خير يالغالي ع المجهود الرائع





    __________________
    سبحان الله وبحمده

  7. #7


    جميل جدا ، فقط لا تصلح للمواقع الكبيرة و كثرة الزوار !!
    كما قال الاخوة ممكن تحولها الى sqlite .






  8. #8
    عضو نشيط
    تاريخ التسجيل
    Apr 2008
    المشاركات
    274


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


    ما شاء الله عليك برمجة جميلة




    لكن انا عملتها بطريقة اخرى:

    الفكرة ان يتم الاستفادة من ال api لمواقع التقصير مثل tinyurl:

    وبذلك لا حاجة لقواعد بيانات او انشاء ملفات(كنت ايضًا تستطيع استخدام قواعد sqlite)

    هذه دالة مستقاة من دالة كان قد وضعها الاخ bruce

    كود PHP:
    function tiny($link){
        
    $url = @file_get_contents("http://tinyurl.com/api-create.php?url={$link}");
        return 
    $url;

    وهي تاتي بالرابط المقصر من موقع tinyUrl

    كيف يمكن الاستفادة منها:

    نفرض اننا نريد تقصير الرابط التالي:

    http://www.swalif.net/softs/

    سوف نشغل الدالة وتعطي الناتج
    http://tinyurl.com/23wnac
    والرابط المقصر الخاص بموقعنا سوف يكون بالشكل التالي:
    http://localhost/short/23wnac

    هل فهمت العلاقة؟؟؟

    نستخدم ملف htaccess لاعادة التحويل من موقعنا لموقع tinyurl

    الذي سيأخدنا للرابط الذي تم تقصيره سابقًا بالطريقة التالية:
    كود PHP:
    RewriteEngine on
    RewriteRule 
    ^([a-zA-Z0-9]+)$ http://tinyurl.com/$1 [R,L] 
    الملف في المرفقات
    هلا والله احلى مافي الموضوع لا ااكواد ولا اسماء الفكره طريقتك حلوه بس تعتمد علي موقع tinyurl لو بكرا شال عفشه تتوهق

    جميل جدا ، فقط لا تصلح للمواقع الكبيرة و كثرة الزوار !!
    كما قال الاخوة ممكن تحولها الى sqlite .
    ماتصلح للمواقع كبيره تقدر تقول محاوله يعني وبعدين عدلت بالكود اول كل رابط تقصير لازم يعمل له مجلد الحين غيرتها وهذه الي قدرنا عليه والمسئله مو القصد تركبون السكربت تجارب ما تعلمناه :nice:

    هذه اخر تعديل

    كود PHP:
    <?php
    $form 
    = array('url'     =>  'text|30|put your link');
    define('HTTP_HOST'$_SERVER['HTTP_HOST']);
    define('DOMEN',  'http://'.HTTP_HOST);
    define('PHP_SELF'$_SERVER['PHP_SELF']);
    $params params();
    function 
    form$fields )
    {
        
    $form '';
        
    $form .= '<form action='.PHP_SELF.' method="POST">';
        if ( 
    is_array$fields ) )
        {
            foreach( 
    $fields as $key => $value )
            {
                
    $value explode('|'$value);
                
    $form .= sprintf("%s <input type='%s' name='link[%s]' size='%s'>",
                
    $value[2], $value[0], $key$value[1]);
            }
        }
        
    $form .= '<input type="submit" name="go" value="Go!">';
        
    $form .= '</form>';
        return 
    $form;
    }
    function 
    generate_folder()
    {
        
    $result null;
        
    $lowercase = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','q','r','s','t','u','v','x','y','z');
        
    $uppercase = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','Q','R','S','T','U','V','X','Y','Z');
        for ( 
    $i 0$i <= 2$i++ )
        {
            
    $result .= $lowercase[rand0count$lowercase ) - )] . $uppercase[rand0count$uppercase ) -)];
        }
        return 
    $result;
    }
    function 
    error_msg$vailed$params )
    {
        
    $errors = array('total_errors'  =>   1);
     
        foreach( 
    $vailed as $filed => $vaileds )
        {
            if (!
    preg_match$vaileds$params[$filed ]  ) )
            {
                
    $errors['total_erros']++;
                
    $errors[$filed] = true;
            }
        }
        if ( 
    $errors['total_erros'] > )
        {
            return 
    $errors;
        }
        else
        {
            return 
    false;
        }
    }
    function 
    params()
    {
        
    $params = array();
     
        if ( !empty( 
    $_POST ) )
        {
            
    $params array_merge$params$_POST );
        }
        if ( !empty( 
    $_GET ) )
        {
            
    $params array_merge$params$_GET );
        }
        return 
    $params;
    }
    function 
    check_url()
    {
        if ( !
    $params['url'] )
        {
            return 
    false;
        }
        else
        {
            return 
    true;
        }
    }
    function 
    create_file()
    {
        if ( 
    check_url )
        {
            
    $folder =  generate_folder();
     
            if ( !
    check_field() )
            {
                
    write$folder );
            }
            else
            {
                print 
    'error your link';
                echo 
    '<a href="index.php">Go To Back</a>';
                exit();
            }
            echo 
    'copy your short link <input type="text" size="30" name="url[link]" value="'.DOMEN.'/'.$folder.'.html"><br />';
     
            echo 
    '<a href="index.php">Go To Back</a>';
        }
        else
        {
            
    header("location: test.php");
        }
    }
    function 
    write$folder )
    {
        global 
    $params;
        
    $file   $folder.'.html';
        
    $handle fopen$file'w' );
        
    $http = ( substr$params['url'], 0) != 'http://' 'http://'.$params['link']['url'] :  $params['link']['url'] );
        
    fwrite$handle'<meta http-equiv="refresh" content="0;url='.$http.'" />' );
        
    fclose$handle );
    }
    function 
    check_field()
    {
        
    $regex "((https?|ftp)\:\/\/)?"// SCHEME
        
    $regex .= "([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?"// User and Pass
        
    $regex .= "([a-z0-9-.]*)\.([a-z]{2,3})"// Host or IP
        
    $regex .= "(\:[0-9]{2,5})?"// Port
        
    $regex .= "(\/([a-z0-9+\$_-]\.?)+)*\/?"// Path
        
    $regex .= "(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?"// GET Query
        
    $regex .= "(#[a-z_.-][a-z0-9+\$_.-]*)?"// Anchor
        
    global $params;
        
    $links = array('url'    =>    "/^$regex$/");
        
    $urls  = array('url'    =>    $params['link']['url']);
        return 
    error_msg$links$urls );
    }
    if ( isset( 
    $params['go'] ) )
    {
        
    //print_r( $params['link']);
        
    create_file();
    }
    else
    {
        echo 
    form$form );
    }
     
    ?>






    التعديل الأخير تم بواسطة Abo Naiyf ; 11-04-2010 الساعة 04:21 PM
    __________________
    اكثر موضوع اضحكني في سوالف سوفت :

    http://www.swalif.net/softs/swalif30/softs216357/

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2010
    المشاركات
    436


    فكرة بسيطة وحلوة ..

    تسلم كثير






    __________________
    لا اله الا الله . . . محمّد رســول الله

  10. #10


    ماتصلح للمواقع كبيره تقدر تقول محاوله يعني وبعدين عدلت بالكود اول كل رابط تقصير لازم يعمل له مجلد الحين غيرتها وهذه الي قدرنا عليه والمسئله مو القصد تركبون السكربت تجارب ما تعلمناه :nice:
    نعم أخي العزيز ، قصدي الطريقة و ليس السكربت ،

    ملاحظة :

    يمكنك جعل الدالة مثل هذه أو شيئ مشابه لتلافي تكرار أسماء الملفات ،
    كود PHP:
    function generate_folder()
    {
        
    $result null;
        
    $lowercase = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','q','r','s','t','u','v','x','y','z');
        
    $uppercase = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','Q','R','S','T','U','V','X','Y','Z');
        for ( 
    $i 0$i <= 2$i++ )
        {
            
    $result .= $lowercase[rand0count$lowercase ) - )] . $uppercase[rand0count$uppercase ) -)];
        }
            if (
    is_file$dir $result ".html")){ // $dir هو مسار مجلد السكربت
                    
    return generate_folder();
            }else{
                    return 
    $result;
            }

    طبعا يمكن اعتبار الموضوع مرجع للدوال المستخدمة فيه ،

    شكرا لك .










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

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

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