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

  • BrandonHarrisWalker

    BrandonHarri

    27 Kasım 2006
  • jpmkm1

    jpmkm1

    4 NİSAN 2008
  • lane182videos

    lane182video

    6 EKİM 2011