2013-03-24 39 views
1

我試圖使用PHP Exec命令行將文本字符串作爲變量傳遞,但整個文本未被傳遞。如何將文本字符串作爲PHP Exec命令傳遞

的文字是這樣的:

$title_page = 'Channel | This is the channels title'; 

那麼EXEC行是:

exec("$path_to_php $emailer $article_sub_security_var $article_id > /dev/null &"); 

林檢索它們是這樣的:

$article_sub_security_var = $_SERVER['argv'][1]; 
$article_id = $_SERVER['argv'][2]; 
$page_title = $_SERVER['argv'][3]; 

命令行與正常工作$ page_title的例外。它只返回字符串的一部分,而不是全部。

任何建議,以完全讚賞通過它。

+1

我在您的exec聲明中的任何地方都沒有看到'$ title_page'或甚至$ page_title': -/ – Crisp 2013-03-24 16:03:00

+0

謹慎使用exec! – 2013-03-24 16:50:30

回答

1

命令行正常工作,但$ page_title除外。它只返回字符串的一部分,而不是全部。

我猜你的問題是在網頁標題中|(管),請嘗試使用$title_pageescapeshellcmd之前。

+0

對不起。該命令在其中包含$ page_title。我的錯誤。 darthmaim - 你能告訴我代碼在$ page_title上的樣子嗎?它會進入exec命令行嗎?所以像這樣︰exec(「$ path_to_php $ emailer $ article_sub_security_var $ article_id escapeshellcmd($ page_title)>/dev/null &"); – Ruf1 2013-03-24 19:31:41

+0

我只是嘗試使用escapeshellcmd($ page_title),但它does not工作。我試圖刪除管道,但它似乎只返回文本字符串的第一個單詞,它似乎返回到第一個空格的任何文本。 – Ruf1 2013-03-24 21:00:12

+1

您必須在引號('「')中包含'$ page_title',因爲它包含空格,就像這樣:'exec(「$ path_to_php $ emailer $ article_sub_security_var $ article_id \」$ page_title \「>/dev/null &");' – darthmaim 2013-03-24 21:06:18

相關問題