2011-09-09 99 views
1

我正在使用一個快速緩存系統來處理PHP框架。基本上,所有靜態頁面不需要加載框架,所以我想使用CURL。對於命令行它的工作原理非常快:CLI cURL到PHP cURL

$ curl http://www.example.com/en/terms-of-use.html > web/cache/en/terms-of-use.html 

我目前的解決方案是,捲曲,開放獲取文件數據/創建一個文件,並把在所有的數據。我對curl不是很熟悉,但是如果CLI版本很短,應該有更快的方式。

+0

您是否在構建反向代理? – arnaud576875

+0

沒有任何意義,curl比在其他瀏覽器中訪問網頁更快..我假設你正在討論將html靜態加載到文件並僅顯示該文件。在飛行中使用捲曲不應該更快。 –

+0

也許我說錯了。這就好像是@ arnaud576875所說的反向代理。我將結果一次保存到一個靜態HTML頁面並將其提供給用戶。沒有爲用戶加載的框架應該真的有所作爲。 –

回答

0

我不確定它是否更快,我仍然需要做一些基準測試,但寫起來要簡短得多。

<?php 
    if(!copy('http://www.website.com/en/homepage.html', 'web/cache/en/homepage.html')) 
    { 
     // Notify someone 
    } 
?> 
1

可以在2的一個方式做到這一點:

使用PHP的系統/流程函數調用....

$page = system("curl http://www.example.com/en/terms-of-use.html"); 
    print "<pre>"; 
    print_r($page); 
    print "</pre>"; 

,或者您可以使用本機捲曲PHP庫

<?php 
     $url = "http://www.example.com/en/terms-of-use.html"; 
     print $url; 
     $ch = curl_init($url); 
     if(!$ch) 
     { 
     $errstr = "Could not connect to server."; 
     } 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
     $page = curl_exec($ch); 
     print "<pre>"; 
     print_r($page); 
     print "</pre>"; 
    ?>