いくつかの背景として、一意のコードへのリンクを含む html ファイルを生成するために使用しているコードが少しあります。最終的に、これは顧客に配布される USB ドライブになります。これはバッチで行われるため、コードを含むカスタム ファイルを必要な数だけ作成できます。
if ( !empty($_POST) ) {
$url = trim($_POST['url']);
$codes = trim($_POST['codes']);
$codes_array = explode("\n", $codes);
$codes_array = array_filter($codes_array, 'trim');
foreach ($codes_array as $code) {
$html = <<<EOD
<html>
<head></head>
<body>
<a href="$url$code">Download Now</a>
</body>
</html>
EOD;
file_put_contents("codes/".$code.".html",$html);
}
}
そのフォルダーにファイルが 1 つだけ生成されますが、その名前は常に配列の最後の要素であり、他のファイルは生成されません。繰り返しごとに $code が異なっていても、ファイルが上書きされるようです。
次のコードも同じ結果で試しました。
$fh = fopen("codes/".$code.".html", "w+");
fwrite($fh, $html);
fclose($fh);
何か案は?