ファイル結合にあたって文字コードが異なっている可能性もあり、その文字コードも統一する前処理作業も必要なことはわかっているのですが、
Windows8又は、Macintoshでできる方法をお教えいただけると。
(プログラムを書けばいいのは分かるのですが、結構例外が多そうなので、まず出来上がったサンプルファイルを作り、評価をしてからプログラミングをしたいと思いまして)
一回だけの処理なら、単にhtmlファイル名を列挙して、1つにまとめるバッチを作ることで対処できます。
Windowsでコマンドプロンプトからdirコマンドを使うとファイルのリストが得られますが、このときに/b /sオプションをつけると、サブディレクトリも含めた対象ファイルのフルパス名を得られます。
dir /b /s (列挙したいルートディレクトリ)\*.html
上記コマンドの出力を適当なファイルに出力させ、その各行について適当なテキストエディタの置換処理を使って、結合ファイルに追記するようなバッチにして実行すればOKです。
type (HTMLファイルのフルパス名) >> (結合ファイル)
type (HTMLファイルのフルパス名) >> (結合ファイル)
type (HTMLファイルのフルパス名) >> (結合ファイル)
・
・
・
定期的に行う必要がある場合は、上記処理を行うバッチを作ることも可能です。以下のバッチファイルを作って適当なディレクトリから実行すれば、そのディレクトリ以下の全htmlファイルを結合したconnect.txtが生成されます。
@echo off
for /F "delims=" %%F in ('dir /b /s *.html') do (
type %%F >> connect.txt
)
PHPだとこんな感じですかね。サイズが大きいと、うまく行かないかも知れません。
$data = "";
$files = dir(パス);
while (($filename = $files->read()) != FALSE) {
$filepath = (パス) . "/" . $filename;
$data = $data . file_get_contents($filepath);
}
file_put_contents(パス,$data);