php
  • nginx
  • file-get-contents
  • 2016-08-03 183 views 0 likes 
    0

    我在CentOS和nginx上使用函數「file_get_contents」時遇到了麻煩。PHP「file_get_contents()」函數返回null

    error_reporting(E_ALL); 
    
    $file = "/srv/http/php/cms/extern/ip/pc.htm"; 
    
    if (@is_file($file) === false) {// it is true; 
    
        $result['error'] = 'no file'; 
    
    } 
    
    if (@fopen($file, "r") === false) { // it is true 
    
        @fclose($htmlFilePath); 
    
    } 
    
    $htmlContent = file_get_contents($file); // return null 
    

    我打開htm文件瀏覽器時,它可以幹活在谷歌搜索的東西,那麼我確認在php.ini中的選項:

    allow_url_fopen = On; 
    

    和殘疾人的功能列表唐」沒有包括那個;

    然後我重新啓動nginx和centOS。但它不能工作-_-!

    請幫忙,告訴錯誤在哪裏。謝謝!

    +0

    您確定有內容嗎?你也可以設置'ini_set('display_errors',1);'開始查看是否有錯誤彈出。 – Janno

    +0

    file_get_contents函數僅在使用完整網址時才起作用。設置你可以在瀏覽器中打開的網址 –

    +0

    @Janno感謝您的建議,但它不會報告任何錯誤 –

    回答

    0

    我以前遇到同樣的問題。我通過添加編碼字符集來解決它。在我的情況下,我添加了UTF-8字符集。瀏覽器可能會編碼文件,但nginx和centOS不是。

    • 在頭標籤之間添加編碼元標籤。

    如果它不起作用,我會建議嘗試一個完整的URL。 PHP不會將URL識別爲相對URL。

    相關問題