ホームページ  >  記事  >  バックエンド開発  >  同じディレクトリ内のファイルの取得に失敗しました

同じディレクトリ内のファイルの取得に失敗しました

WBOY
WBOYオリジナル
2016-06-23 14:39:03980ブラウズ

$files = '131204-5.csv';$str  = file_get_contents($files) or die("文件打开失败");


警告: file_get_contents(131204-5.csv) [function.file-get-contents]: ストリームを開けませんでした: D: にそのようなファイルまたはディレクトリはありません...
ファイルを開くことができませんでした

同じマシン上環境内に作成されたファイルは読み取り可能ですが、対応するディスクにはEveryone権限が設定されています。
その理由は何ですか?


ディスカッションに返信 (解決策)

$files = './131204-5.csv';

問題の分析を容易にするために、すべてのエラー メッセージを投稿することをお勧めします

こんにちは、コードをテストしました

$files = 'new.txt';$str  = file_get_contents($files) or die("文件打开失败");

エラー メッセージはありません。
次に、意図的に間違ったファイル名を書き込みます。エラーはあなたのものと同じです:
警告: file_get_contents(new.txt.1): ストリームを開けませんでした: そのようなファイルはありません。 C:xampphtdocsamark .php の 9 行目のディレクトリ
ファイルを開くことができませんでした

元の投稿者が環境をチェックしています。

$files = './131204-5.csv';

問題の分析を容易にするために、すべてのエラー メッセージを投稿するのが最善です

* であれば、同じディレクトリ内に問題はないようです。 .php とフォルダーは同じディレクトリ内にあり、フォルダー a の構造は a/b/c.csv です。ここで、a と b はフォルダーです。ここで、*.php は c.csv ファイルにアクセスします。 path = 'a/b/c.csv'

次のコードはエラーを報告します:
$files = 'a/b/131204-5.csv';

error:Warning : file_get_contents(a/b/131204-5.csv) [function.file-get-contents]: ストリームを開けませんでした: D:Label_BarcodeCvtBarcodeSystemnewonstoresgm_tsm_upload.php の 17 行目にそのようなファイルまたはディレクトリはありません

はい、$path です= 'a/b/c.csv'

ただし、一部の環境 (一部の PHP バージョン) では、現在のディレクトリを追加する必要があります ./
したがって、 $path = './a/b/c と記述する方が安全です。 csv';

はい、それは $path = 'a/b /c.csv' です

ただし、一部の環境 (一部の php バージョンの下) では、現在のディレクトリを追加する必要があります ./
したがって、 $path = ' と記述します./a/b/c.csv'; の方が安全です

テストしてみたところ、ファイル名に漢字が含まれていない場合のみ読み取ることができます。漢字を含むファイル名を読む方法はありますか?

サーバー環境は英語です。

UTF-8 プログラムは gbk 環境で実行されます

または
gbk プログラムは utf-8 環境で実行されます
中国語のファイル名が認識できない状況が発生します
中国語のファイル名を使用する必要がある場合は、オペレーティング システムの規則に従う必要がありますデフォルトの文字セットのトランスコーディング

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。