Rumah  >  Soal Jawab  >  teks badan

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>
P粉513318114P粉513318114410 hari yang lalu617

membalas semua(1)saya akan balas

  • P粉463824410

    P粉4638244102023-08-09 00:24:08

    $zip->addFile($result); menjangkakan laluan yang sah pada pelayan, tetapi anda lulus dalam URL fail tersebut. $zip->addFile($result); 期望在服务器上传入有效路径,但你传入了该文件的URL。

    同样适用于 $zip_file = $website_url . $directory_path . 'file.zip';

    请使用创建 .dat 文件时使用的相同路径:$zip->addFile($directory_path . 'file.dat')

    Perkara yang sama berlaku untuk $zip_file = $website_url . $directory_path . dat') 🎜🎜🎜

    balas
    0
  • Batalbalas