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

  • Andrey Menshikov

    Andrey Mensh

    28 Ocak 2012
  • PomplamooseMusic

    PomplamooseM

    28 HAZİRAN 2008
  • The Dubstep FX

    The Dubstep

    5 Mart 2011