0

配列変数値内にある変数値を更新しようとしています。

次のファイルを書き込んでいることがわかりますfile_put_contents()。には変数implode("\r\n", $contents)...が含まれ$contentsます。

$body_file_countのすべての反復をインクリメントする必要がありますif ($i == $per_file) {...

この場合、$contents 配列が変数値を更新できないことは明らかです$body_file_count

$body_file_count出力されたファイルの数です。実際には、ファイル タイトルと同じ番号です: $file_count...

基本的に、次のように書き込む必要があります$body_file_count

$default_contents=$contents=array("BODY CONTENT TOP . "$body_file_count" . ");

各if($i == $per_file) {反復で。$file_count をas$body_file_countに渡すことができれば、期待どおりにタイトルを更新することができれば、明らかに破棄できます。$content$file_count

$body_file_count = 0;
$footer = "FOOTER";
$default_contents = $contents = array("BODY CONTENT TOP . "$body_file_count" . ");

while ($row = mysql_fetch_array($result)) {
    $line = "...";
    $contents[] = $line; // Each array element will be a line in the text file
    $i++;
    $recs++;
    if ($i == $per_file) {
        $contents[] = $footer; // Add the footer to the end
        file_put_contents($_POST["a"] . "-#" . $file_count .  "-" . date('Y') . "-" . $_POST["b"] . "-" . $recs . "-" . $txtdate .  '.txt', implode("\r\n", $contents));
        $i = 0;
        $recs = 0;
        $contents = $default_contents;
        $file_count++;
        $body_file_count++;
    } // End of if()
} // End of while()
4

1 に答える 1