SORU
15 Kasım 2010, PAZARTESİ


PHP linux komut $_GET istemi geçen

Genellikle üzerinden erişim deriz

http://localhost/index.php?a=1&b=2&c=3

Nasıl linux komut aynı istemi çalıştırmak mı?

php -e index.php

Ama $_GET değişkenleri geçen ne olacak? Php-e index.php --1 --b --2 c 3 gibi bir şey olabilir mi? İşe yarayacağına eminim.

Teşekkür ederim!

CEVAP
15 Kasım 2010, PAZARTESİ


Genellikle, bir komut satırı komut dosyasına değişkenler geçmek için, ya da argv global değişken getopt kullanır:

// bash command:
//   php -e myscript.php hello
echo $argv[1]; // prints hello

// bash command:
//   php -e myscript.php -f=world
$opts = getopt('f:');
echo $opts['f']; // prints world

Doldurmak için bir web sunucusu gerektirir beri komut satırında kullanılamaz, hangi yöntem HTTP GET parametreleri ifade eder $_GET.

Eğer gerçekten $_GET zaten doldurmak istiyorsanız, bunu yapabilirsiniz:

// bash command:
//   export QUERY_STRING="var=value&arg=value" ; php -e myscript.php
parse_str($_SERVER['QUERY_STRING'], $_GET);
print_r($_GET);
/* outputs:
     Array(
        [var] => value
        [arg] => value
     )
*/

Ayrıca verilen bir komut çalıştırmak, komut satırından $_GET doldurmak, dedi senaryoyu değiştirmek zorunda kalmadan

export QUERY_STRING="var=value&arg=value" ; \
php -e -r 'parse_str($_SERVER["QUERY_STRING"], $_GET); include "index.php";'

$_POST $_COOKIE ile de yapabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Howcast

    Howcast

    4 EKİM 2007
  • UberFacts

    UberFacts

    26 EKİM 2013
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008