これを行うには他の方法があるかもしれませんが、基本的には 1 回限りのプロセスであるため、かなり簡単なセットアップを探しています。
50 個の状態ディレクトリがあり、それぞれに少数の txt ファイルがあります。
各ディレクトリに足を踏み入れ、各ファイルを「読み取り」たい(次に、各ファイルのmysql挿入を実行します)
いくつかのバリエーションを試しましたが、ループして readfile または file_get_contents を使用しようとするたびに、最初のファイルの後で壊れ、リストの残りの部分でストリームを開けませんでした: エラーが発生します。
これらの関数をループで使用することの落とし穴を探しましたが、そうしない理由がたくさんあることを期待していますが、答えが得られません。
サンプルコードを追加していただきありがとうございます-回答がリストされていることがわかりましたので、それも確認します。(これは私のものではありません。ファイルリストをキャプチャする関数を見つけただけです)
関数 listFilesInDir($start_dir) { /* $start_dir 内のファイルの配列を返します (再帰的ではありません) */ $files = 配列(); $dir = opendir($start_dir); while(($myfile = readdir($dir)) !== false) { if($myfile != '.' && $myfile != '..') { $files[] = $myfile; } } closedir($dir); $ファイルを返します。 } $dir = 'パス/ファイルへのパス'; $Docs = listFilesInDir($dir); foreach($Docs as $key => $fileName) { // file_get_contents を試したところです $content = file_get_contents($fileName); //テストとしてエコーを実行しても、最初のファイルの後でそれが壊れます $コンテンツをエコーします。 //最終的には、mysql に対して INSERT INTO を実行します }