2011-06-17 67 views
1

我有一個拉一個文件的內容,然後回聲它像這樣的腳本:問題與SSI包括PHP的file_get_contents()和https

$file_to_read = "http://website.com/" . $file_name; 
$text = @file_get_contents($file_to_read); 
echo $text; 

這是我做的方式,因爲正在讀取的文件有SSI包含,一旦回顯將無法正常工作。

現在我需要複製代碼,但使用https調用相同的網站,它不工作。有沒有人有關於如何做同樣事情的建議,但在調用https URL或使用本地路徑時有效?

謝謝!

+0

也許HTTPS版本的網站沒有啓用SSI?儘管它是「相同」的一面,但大多數Web服務器都需要完全不同的SSL和非SSL站點的配置定義。 –

+0

Marc - https版本確實啓用了SSI,因爲它可以在https網站的其他部分工作。 – Yazmin

回答

1

我有更多的運氣使用捲曲,而不是的file_get_contents,這裏是我用我的Facebook的API調用,包括的access_token(僅適用於安全連接):

$curl_handle=curl_init(); 
curl_setopt($curl_handle,CURLOPT_URL,$file_to_read); 
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2); 
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,true); 
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false); 
$text = curl_exec($curl_handle); 
curl_close($curl_handle); 
+0

目前,Curl不適合我。還有其他建議嗎? – Yazmin

+0

我不確定你想要連接什麼網站(或服務),但我總是嘗試刪除'https'中的's'並查看它是否仍然有效;我知道我以前很驚訝。 – Jasper