2010-12-30 12 views
1

ファイルの内容を読み込み、空の文字列を取得しようとしています。ファイルはサーバー上に存在します。file_get_contentsは354バイトの空の文字列を返します。

私は次のコードでいくつかのテストを試してみましたが、ディスプレイに真を取得しました:

$filename = "includes/blah.php"; 

$filecontents = file_get_contents($filename, FILE_USE_INCLUDE_PATH); 

if ($filecontents === false) { 

echo(":FALSE:"); 

} 

else { 

echo(":TRUE:"); 

} 

var_dump($filecontents); 

ダンプファイルの正しいサイズである「文字列(354)」を表示します。

私は間違っていますか?ファイルの

+0

ファイルではどのようなエンコーディングが使用されていますか?それはUTF-8ですか? UTF-16? –

+2

ここで何が起こると思いますか? (私はそれが ":TRUE:"という前にvar_dumpを出力していると推測しています)また、出力に使用しているエンコーディングの中にファイルに印刷されない文字が含まれていないことを確かめますか? –

答えて

0

チェック

  1. 権限(WebサーバのためのR)はhtmlentitiesとサーバー
  2. ラップ出力()

で報告

  • エラー(の上のerror_reporting(E_ALL)を追加あなたのスクリプト)

    について、

    ///t

  • +0

    どこにも報告されているエラーはありません。報告レベルを設定しました。以下は、var_dump以外のコードの別のコードです: <?php include_once 'includes/blah.php'; function validateStep(){ \t $ tblPrefix = $ _POST ["tblPrefix"]; \t $ filename = "includes/blah.php"; \t $ handle = fopen($ filename、 "r"); \t $ contents = fread($ handle、filesize($ filename)); \t fclose($ handle); var_dump($ contents); \t $ handle = fopen($ filename、 "w"); \t $ newContents = str_replace( "___ tblPrefix___"、$ tblPrefix、$ contents、$ count); \t $ count = fwrite($ handle、$ newContents); \t fclose($ handle); \t return ""; } –

    関連する問題