2009-12-08 52 views
0

嗨,我使用的PHP系統中嵌入一個CGI腳本這樣問題使用系統

<?php echo system('./cgi-bin/rebol-include.cgi'); ?> 

問題在PHP中嵌入一個CGI是我的CGI腳本編寫

print "content-type: text/html^/" 

使PHP將出現

"content-type: text/html" 

在html頁面上方。這是一個不需要的人工製品,知道整個html頁面從cgi返回並嵌入到php中的最佳方式是什麼?

+0

但爲什麼ü會LIK去除呢?:) – IProblemFactory 2009-12-08 14:06:51

回答

1

系統可以用back ticks替換「`」,並且返回tick的結果可以插入子字符串中。

所以

<?= substr(`./cgi-bin/rebol-include.cgi`, strlen('content-type: text/html^/')) ?> 

這應該給你的 「內容類型」 之後的一切。

+0

謝謝你,會盡量爲背佳提示蜱:) – 2009-12-08 14:17:57

1

而不是打印出腳本中的內容,將其作爲字符串返回。然後回聲將實際上完成它的工作。 也可以解析整個內容strip_tags()或類似如果要擺脫HTML。

1

你試過使用virtual()而不是system()嗎?

虛擬()是一個Apache特異性 功能這是 mod_include負責類似於 。它執行一個Apache 子請求。它對於包括CGI腳本或.shtml文件的 , 或其他任何可以通過Apache解析 的文件都很有用。請注意,對於CGI 腳本,腳本必須生成有效的 CGI標頭。至少意味着 它必須生成一個Content-Type 標題。

看到http://php.net/manual/en/function.virtual.php

+0

感謝大家好,會盡力 – 2009-12-11 21:55:57