2

いくつかの背景として、一意のコードへのリンクを含む 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); 

何か案は?

4

2 に答える 2

0

試してみますか:

foreach ($codes_array as $key => $value ) {

    $html = <<<EOD
<html>
<head></head>
<body>
<a href="$url$code">Download Now</a>
</body>
</html>
EOD;

    file_put_contents("codes/".$value.".html",$html);

}

同じ結果ですか?

于 2015-05-21T16:07:47.383 に答える