可変アドレスとファイルを含む動的 zip ファイルを生成し、ダウンロード可能なリンクを取得します
<p>次のコードを使用して、2 つのファイルを zip ファイルに入れ、1 つは thanks.txt、もう 1 つは file.dat としたいのですが、この zip ファイルにリンクしますが、コードが正しく実行されません。このコードの修正と最適化に役立ちます。 <br /><br /> thanks.txt ファイルに、顧客のユーザー電子メールとともに次のテキストを配置します: <br /><br />こんにちは、'.$email_address 様。 ' ご利用いただきありがとうございます!<br /><br />私のコード:</p><p><strong></strong></p>
<pre class="brush:php;toolbar:false;">function create_zip_file() {
// 現在のユーザーのメール アドレスを取得します。
$current_user = wp_get_current_user();
$email_address = $current_user->user_email;
$md5_address = md5($email_address);
$directory_path = 'myfiles/cloud/' . $md5_address . '/';
if (!file_exists($directory_path)) {
mkdir($ディレクトリパス, 0777, true);
}
$Myfile = file_put_contents($directory_path . 'file.dat' , $email_address);
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
$website_url = 'https://' . $_SERVER['HTTP_HOST'] .'/';
} それ以外 {
$website_url = 'http://' . $_SERVER['HTTP_HOST'] .'/';
}
$result = $website_url . $directory_path . 'file.dat';
$zip = 新しい ZipArchive;
if ($zip->open($zip_file , ZipArchive::CREATE) === TRUE)
{
//zipファイルにファイルを追加します
$zip->addFile($result);
// 指定されたテキストを使用してファイル new.txt ファイルを zip に追加します
$zip->addFromString(' thanks.txt', 'こんにちは、'.$email_address.' 様、ご利用いただきありがとうございます!');
// すべてのファイルが追加されたので、zip ファイルを閉じます
$zip->close();
// zip圧縮後にファイルを削除
リンクを解除($result);
}
$zip_file = $website_url . $directory_path . 'file.zip';
if (file_exists($zip_file)) {
$zip_file を返します。
} それ以外 {
false を返します。
}
}</pre>
<p><strong>そして、次のコードで zip ファイルを呼び出します。</strong></p>
<p><code><a href="<?php echo create_zip_file();"> zip ファイルをダウンロード </a></code></p>
<p>次のコードで静的アドレス ($zip_file) を使用すると: </p>
<p><code>if ($zip->open($zip_file , ZipArchive::CREATE) === TRUE)</code></p>
<p>zipファイルは作成されますが、動的アドレスを使用するとzipファイルが作成されません。 </p>