get isteği ile birden çok değişken ile php ayrıştırma adresler

3 Cevap php

Ben tüm yaklaşık 5 url değişkenleri içeren, (yaklaşık 15) bir seferde php script birden adresler yolluyorum. Benim komut, (i script önce üzerine ekleyin) iki ters eğik onları bölme, ve sonra her url kıvrılarak bireysel olanları içine url'lerin yığın ayrıştırma. Ben komut dosyası çalıştırdığınızda Ancak, sadece "ve" bir url kadar kabul sembolü. Daha sonra benim senaryoya kadar bölünmüş böylece ben, tüm öbek var istiyorum. Ne bu sorunu yaklaşım en iyi yolu olabilir?

Teşekkürler.

Benim komut bir url yığın göndermek ne olur bir örnek:

 <?php
    /*
    $url variable being sent to script:
    http://www.test1.com?q1=a&q2=b&q3=c&q4=d\\http://www.test2.com?r1=a&r2=b&r3=c&r4=d\\http://www.test3.com?q1=a&q2=b&q3=c&q4=d\\http://www.test4.com?e1=a&e2=b&e3=c&e4=d
    */

    $url = $_GET['url'];

    echo $url; // returns http://www.test1.com?q1=a

    //later on in my script, i just need to curl each "\\" seperated url
    ?>

3 Cevap

Sen scriptin isteği onları eklemeden önce () URL'ler (verileri) UrlEncode gerekir.

Aksi takdirde, PHP listOfUrls? Görmek için gidiyor = http://someurl.com/?someVar=SomeVal& nedeniyle literal için, orada dur "&"

Eğer PHP sorgu dizesi inşa ediyorsanız gibi bir şey deneyebilirsiniz:

<?PHP
//imagine $urls is an array of urls
$qs = '?urls=';
foreach($urls as $u){
    $q .= urlencode($u) .'\\';
}

Ben de GET diğer tarafında, yerine "\" gibi bazı sınırlayıcıya ayrıştırmak zorunda geri URL güzel temiz bir dizi olsun böylece url [] notasyonu ile oynayabilirsiniz şüpheli

Eğer ilk ve sonra url param, her şeyi kodlamak url olmadığından Orijinal url param olarak kabul edilir.

$ _GET Dizisi 'işareti üzerine bölerek oluşturulur. Parametreler olarak ileterek önce URL'leri URL kodlamak. PHP sizin için bunları deşifre etmelidir.

Örnek: geçiş url=http://www.test1.com?q1=a%26q2=b%26q3=c%26q4=d\\http%3A//www.test2.com?r1=a%26r2=b%26r3=c%26r4=d\\http%3A//www.test3.com?q1=a%26q2=b%26q3=c%26q4=d\\http%3A//www.test4.com?e1=a%26e2=b%26e3=c%26e4=d

Bir array. Example: use url[]=http://www.test1.com?q1=a%26q2=b%26q3=c%26q4=d&url[]=http%3A//www.test2.com?r1=a%26r2=b%26r3=c%26r4=d&url[]=http%3A//www.test3.com?q1=a%26q2=b%26q3=c%26q4=d&url[]=http%3A//www.test4.com?e1=a%26e2=b%26e3=c%26e4=d içine parametresini çevirerek '\ \' ile yapabilirsiniz