3

PHPを使用して、ディレクトリ内のすべてのファイルを1つのテキストファイルにマージしようとしています。

すべてのファイルはテキスト ファイルで、各行に 1 つの単語が含まれています。

すべての単語を各行に 1 つずつ含む 1 つのテキスト ファイルにすべてを結合する必要があります。

ファイルの拡張子は、0 ~ 5 の 5 の倍数 (.10、.15、.20、.25) および .txt ファイルです。

これは私がこれまでに持っているものですが、空のテキスト ファイルしか作成しません。

<?php
$files = glob("./*.??");
$out = fopen("listTogether.txt", "w");
foreach($files as $file){
    $in = fopen($file, "r");
    while($line = fread($in)){
       fwrite($out, $line);
       echo "writing file";
    }
    fclose($in);
}
fclose($out);
?>
<!Doctype HTML>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>file merger</title>
</head>
<body>
    <p>Doo Wop</p>
</body>
 </html>
4

3 に答える 3

1

可能であれば (たとえば、連結前にファイルを処理する必要がなく、適切な OS がある場合)、可能な限り OS の近くで処理することをお勧めします。

exec('cat *.?? > listTogether.txt');

必要に応じて、コマンド自体の中で (cd /some/other/directory &&パスに関するセーフ モードの制限を考慮して " " を追加することにより)、またはchdir().

于 2013-06-07T00:01:00.890 に答える