php file_get_contents遇到https的處理辦法


 

最近調整了文件上傳后的資源路徑,導致pageOffice在線編輯功能無法正常使用,每一次打開文件都報錯:該文件為0字節。仔細看了一下程序,整理邏輯流程如下圖:

 

增加日志后發現,保存在服務器路徑下的該條數據的文件確實是0字節,說明在從遠端下載到本地的過程中有問題。

 

我寫了一個測試腳本來測試獲取遠程文件,如下:

$url = 'https://xxx/dddsd/ccd.doc';
$content = file_get_contents($url);
var_dump($content);

 

報錯如圖:

 

 

 

這是因為遠程資源($url)是用的https協議,做了證書驗證。請求這種資源必須加證書驗證或者關閉ssl參數,為了方便我選擇了后者。

最后代碼修改如下:

$stream_opts = [

    "ssl" => [

    "verify_peer"=>false,

    "verify_peer_name"=>false,

    ]

];
 

$url = 'https://xxx/dddsd/ccd.doc';

$content = file_get_contents($url);

var_dump($content);

就能獲取到正常資源了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM