2016-02-27 2 views
0

все. У меня есть сценарий, который нужно запустить из терминала или командной строки. Я использую PHP. GetOpt - это функция, которую я использую для получения данных или параметров, которые пользователь вводит с терминала.GetOpt не читает полный URL

Это мой сценарий.

<?php 
$opt = getopt("f:"); 
$input = $opt['f']; 
$u = fopen($input, 'r'); 
echo "\n\n$input\n\n"; 

Я пытаюсь запустить его так:

$ php myscript.php -f http://myurl.com/file.csv?city=london&status=3 

Мой URL является http://myurl.com/file.csv?city=london&status=3, но выход только http://myurl.com/file.csv?city=london. Параметр статуса потерян из полного URL-адреса.

Кто-нибудь знает? Или есть идея решить его? пусть поделиться. Заранее спасибо!

ответ

0

это потому, что вы должны обернуть ссылку вокруг в кавычки:

$ php myscript.php -f "http://myurl.com/file.csv?city=london&status=3" 

Я пойду вперед и предположим, что вы используете свой скрипт в Bash, и & в Bash может быть истолковано как побитовое AND в вашем случае:

$ echo $((98 & 7)) 
2 
+0

приятный. у вас есть идея, которая превращает URL-адрес в цитату? «$ input»? –

+0

@IWayanDharmana это то, что вы вручную вводите в bash, не так ли? Если нет, это вопрос другого вопроса. –

+0

да, никоим образом не круто. Благодарю. –