نمایش نتایج: از شماره 1 تا 10 , از مجموع 49

موضوع: معرفی توابع و کلاس های کاربردی php

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #10
    عضو انجمن
    تاریخ عضویت
    Nov 2011
    نوشته ها
    257
    تشکر تشکر کرده 
    57
    تشکر تشکر شده 
    364
    تشکر شده در
    260 پست

    پیش فرض پاسخ : معرفی توابع و کلاس های کاربردی php

    با تشکر از امیرحسین عزیز ،

    براي چنين کارايي برنامه نويسها سراغ Regular Expression ميرند در حاليکه PHP براي اين کار تابعی داره که با راحتی هرچه تمامتر حتي fragment يا hash آدرس رو هم ميده.

    تابع parse_url در حالت استاندارد يک URL ميگيره و آرايه اي حاوي اجزاي آدرس ميده شامل اين قسمتها:

    • scheme: همون http يا https يا ftp و غيره
    • host: دامنه اصلي مثل Boplo.ir
    • port: پورت اگر باشه
    • user: همون username اگر باشه
    • pass: رمز يا password اگر ست شده باشه
    • path: مسير آدرس بعد از دامين
    • query: کوئري يعني کاراکترهاي بعد از علامت "?"
    • fragment: يا hash يا کاراکترهايي که بعد از علامت "#" ميان

    براي نمونه همون مثالي که خود PHP مطرح کرده:

    کد PHP:
    $url 'http://username:password@hostname/path?arg=value#anchor';  
    print_r(parse_url($url));  
    /** 
     *  Output: 
     *  Array 
     *  ( 
     *      [scheme] => http 
     *      [host] => hostname 
     *      [user] => username 
     *      [pass] => password 
     *      [path] => /path 
     *      [query] => arg=value 
     *      [fragment] => anchor 
     *  ) 
     */ 
    نکته مهم اين تابع اينه وقتي بجاي URL چرنديات تحويلش بديم، مقدار FALSE برميگردونه که ما بايد چک کنيم ولي بخاطر اينکه بيخود وقتش رو گرفتيم، يک خطاي E_WARNING هم صادر ميکنه که اگر نمايش اين دسته خطاها فعال باشه، خطا ميگيرم که مي تونيم اين مشکل رو با @ حل کنيم:

    کد PHP:
        if( $url = @parse_url("chetoty googooli?") ) {  
            echo 
    "Host: " $url['host'];  
        } else {  
            echo 
    "Invalid URL entered!";  
        } 
    از نسخه 5.1.2 به اين تابع يک پارامتر دوم اضافه شده که ميشه باهاش بجاي اينکه آرايه بگيريم، فقط بخش مورد نظر رو بصورت String بگيريم. مثلا اگر ميخوايم فقط کوئري آدرس رو بگيريم پارامتر دوم رو برابر PHP_URL_QUERY قرار ميديم. نمونه:

    کد PHP:
        $url "http://amir.ir/?loveBoplo=absolutely&loveAmirHossein=dige_poroo_nasho  
        echo parse_url(
    $url, PHP_URL_QUERY);  
        /** 
         *  Output: 
         *  loveBoplo=absolutely&loveAmirHossein=dige_poroo_nasho 
         */ 
    واسه اينکه موضوع کامل بشه، وقتي به کوئري يک تابع نياز داريم، معمولا اينکه مقدار هر کليد در اون کوئري چيه به درد ميخوره. پردازش کوئري کار خيلي ساده ايه ولي براي همون کار ساده ي چند خطي هم تابعي وجود داره به نام parse_str. مثلا براي پردازش کوئري مثال قبل، اينجوري لذت ميبريم:

    کد PHP:
        $url "http://amir.ir/?loveBoplo=absolutely&loveAmirHossein=dige_poroo_nasho  
        
    $query = parse_url($url, PHP_URL_QUERY);  
        parse_str(
    $query$array);  
        print_r(
    $array);  
        /** 
         *  Output: 
         *  Array 
         *  ( 
         *      [loveBoplo] => absolutely 
         *      [loveAmirHossein] => dige_poroo_nasho 
         *  ) 
         */ 

  2. تعداد تشکر ها ازMihanTech به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. درخواست افزونه پیش فاکتور و فاکتور وردپرس
    توسط Jai در انجمن درخواست انواع ماژول،پلاگین،قالب،امکانات سفارشی
    پاسخ ها: 2
    آخرين نوشته: February 13th, 2017, 10:36
  2. پاسخ ها: 21
    آخرين نوشته: June 11th, 2016, 12:59
  3. پاسخ ها: 0
    آخرين نوشته: December 26th, 2015, 11:40
  4. توجه توجه .نویسندگی سایت های جور وا جور .توجه توجه
    توسط ko9ol30 در انجمن به دنبال کار هستم
    پاسخ ها: 0
    آخرين نوشته: June 20th, 2015, 12:21
  5. درخواست سرور مجازی ویندوز برای تورنت و تورنت دادن و گرفتن
    توسط Daniel4u در انجمن درخواست سرور مجازی
    پاسخ ها: 9
    آخرين نوشته: September 21st, 2012, 11:24

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •