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

  • How It Should Have Ended

    How It Shoul

    5 Mart 2007
  • metagamers

    metagamers

    13 Mayıs 2006
  • MuscleProdigyTV

    MuscleProdig

    8 Ocak 2011