2010-03-31 69 views
2

如何可以包括在常規PHP頁面笨內容在同一臺服務器上,但不是CI應用程序的一部分嗎?加載CI控制器在同一臺服務器

比如我想從CI頭加載到WordPress的。在同一臺服務器上包含CI控制器(例如index.php/mycontroller/header /)的最佳方式是什麼?

回答

1

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); 
0

你有沒有考慮過在你的WordPress頁面使用iframe?

<iframe src="http://my-site-url/index.php/mycontroller/header"></iframe> 

這可能是最簡單的解決方案。

0

當你試圖從外部源包裝與HTML內容,這可以很容易地放置在目標網站的HTML註釋(或其他識別標記),然後使用PHP分裂/爆炸的含量來實現。 。

我已經使用這個方法來創建一些小型網站的MSN金錢這有那我就簡單地使用:

list($header_html) = explode('<!-- Header -->', file_get_contents($url)); 

是比這稍微複雜,涉及緩存和各種其他瘋狂,但在它的基礎上,如果WordPress允許它使用的方法。

1

使用PHP的內置的file_get_contents()。只要確保使用完整的HTTP路徑,而不是相對路徑。例如:

<?php 
    file_get_contents('http://your.server.com/codeigniter-path/controller/'); 

這應該做的伎倆。

相關問題