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

  • GirlSanctuaryBlog

    GirlSanctuar

    28 Aralık 2011
  • Google

    Google

    18 EYLÜL 2005
  • TheDigiCraft

    TheDigiCraft

    25 NİSAN 2011