最近調整了文件上傳后的資源路徑,導致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);
就能獲取到正常資源了。