テキストファイルでいっぱいのディレクトリを開こうとしています。次に、各ファイルを1行ずつ読み取り、各行の情報を新しいファイルに書き込みます。反復しようとしているディレクトリ内の各テキストファイル内で、情報は次のように形成されます。
JunkInfo/UserName_ID_Date_Location.Type
したがって、これらのテキストファイルをすべて開き、新しいファイルに次の形式で行を書き込みます。
UserName,ID,Date,Location,Type
これまでに思いついたコードは次のとおりです。
<?php
$my_file = 'info.txt';
$writeFile = fopen($my_file, 'w') or die('Cannot open file: '.$my_file); //implicitly creates file
$files = scandir('/../DirectoryToScan');
foreach($files as $file)
{
$handle = @fopen($file, "r");
if ($handle)
{
while (($buffer = fgets($handle, 4096)) !== false)
{
$data = explode("_", $buffer);
$username = explode("/", $data[0])[1];
$location = explode(".", $data[3])[0];
$type = explode(".", $data[3])[1];
$stringToWrite = $username . "," . $data[1] . "," . $data[2] . "," . $location . "," . $type;
fwrite($writeFile, $stringToWrite);
}
if (!feof($handle))
{
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}
}
fclose($writeFile);
?>
だから私の問題は、これはうまくいかないようだということです。何も起こらないだけです。出力ファイルが書き込まれることはなく、その理由もわかりません。