Hasilkan fail zip dinamik yang mengandungi alamat dan fail berubah-ubah serta dapatkan pautan yang boleh dimuat turun
<p>Saya mahu memasukkan 2 fail ke dalam fail zip, satu ialah thanks.txt dan satu lagi ialah file.dat, menggunakan kod berikut dan pautan ke fail zip ini, tetapi kod saya tidak berjalan dengan betul, Saya Perlu membantu membetulkan dan mengoptimumkan kod ini. <br /><br />Dalam fail thanks.txt, letakkan teks berikut bersama-sama dengan e-mel pengguna pelanggan: <br /><br />Hai, '.$email_address . ' Terima kasih kerana menggunakannya!<br /><br />Kod saya:</p><p><strong></strong></p>
<pre class="brush:php;toolbar:false;">funtion create_zip_file() {
// Dapatkan Alamat E-mel Pengguna Semasa!
$user_current = wp_get_current_user();
$email_address = $current_user->user_email;
$md5_address = md5($email_address);
$directory_path = 'myfiles/cloud/' $md5_address '/';
jika (!fail_wujud($directory_path)) {
mkdir($directory_path, 0777, true);
}
$Myfile = file_put_contents($directory_path . 'file.dat' , $email_address);
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
$url_laman web = 'https://' . $_SERVER['HTTP_HOST'] .'/';
} lain {
$url_laman web = 'http://' . $_SERVER['HTTP_HOST'] .'/';
}
$result = $website_url . $directory_path .
$zip = ZipArkib baharu;
if ($zip->open($zip_file , ZipArchive::CREATE) === BENAR)
{
//Tambah fail pada fail zip
$zip->addFile($result);
// Tambah fail new.txt fail ke zip menggunakan teks yang ditentukan
$zip->addFromString('thanks.txt', 'Hai, Dear '.$email_address.' Terima kasih kerana menggunakannya!');
// Semua fail ditambah, jadi tutup fail zip
$zip->tutup();
// Padam fail selepas zipnya
nyahpaut($hasil);
}
$zip_file = $website_url .
if (fail_wujud($zip_file)) {
kembalikan $zip_file;
} lain {
kembali palsu;
}
}</pre>
<p><strong>Dan saya memanggil fail zip dengan kod berikut: </strong></p>
<p><kod><a href="<?php echo create_zip_file();"> Muat turun fail zip </a></code></p>
<p>Jika saya menggunakan alamat statik ($zip_file) dalam kod berikut: </p>
<p><kod>jika ($zip->open($zip_file , ZipArchive::CREATE) === TRUE)</code></p>
<p>Fail zip dibuat, tetapi apabila saya menggunakan alamat dinamik, fail zip tidak dibuat. </p>