如何可以包括在常規PHP頁面笨內容在同一臺服務器上,但不是CI應用程序的一部分嗎?加載CI控制器在同一臺服務器
比如我想從CI頭加載到WordPress的。在同一臺服務器上包含CI控制器(例如index.php/mycontroller/header /)的最佳方式是什麼?
如何可以包括在常規PHP頁面笨內容在同一臺服務器上,但不是CI應用程序的一部分嗎?加載CI控制器在同一臺服務器
比如我想從CI頭加載到WordPress的。在同一臺服務器上包含CI控制器(例如index.php/mycontroller/header /)的最佳方式是什麼?
從http://codeigniter.com/forums/viewthread/88635/
這是矯枉過正,爲的file_get_contents($網址)或類似的,效果會更好。但是,它可能適用於您的情況:
$CI_INDEX = '/path/to/your/codeigniter/index.php';
$path = '/controller/method';
$_SERVER['PATH_INFO'] = $path;
$_SERVER['REQUEST_URI'] = $path;
chdir(dirname($CI_INDEX));
ob_start();
require($CI_INDEX);
$output = ob_get_contents();
ob_end_clean();
die($output);
你有沒有考慮過在你的WordPress頁面使用iframe?
<iframe src="http://my-site-url/index.php/mycontroller/header"></iframe>
這可能是最簡單的解決方案。
當你試圖從外部源包裝與HTML內容,這可以很容易地放置在目標網站的HTML註釋(或其他識別標記),然後使用PHP分裂/爆炸的含量來實現。 。
我已經使用這個方法來創建一些小型網站的MSN金錢這有那我就簡單地使用:
list($header_html) = explode('<!-- Header -->', file_get_contents($url));
是比這稍微複雜,涉及緩存和各種其他瘋狂,但在它的基礎上,如果WordPress允許它使用的方法。
使用PHP的內置的file_get_contents()。只要確保使用完整的HTTP路徑,而不是相對路徑。例如:
<?php
file_get_contents('http://your.server.com/codeigniter-path/controller/');
這應該做的伎倆。