Maison  >  Questions et réponses  >  le corps du texte

Générez des fichiers zip dynamiques contenant des adresses et des fichiers variables et obtenez des liens téléchargeables

<p>Je souhaite mettre 2 fichiers dans un fichier zip, l'un est merci.txt et l'autre est fichier.dat, en utilisant le code suivant, et un lien vers ce fichier zip, mais mon code ne s'exécute pas correctement, j'ai besoin aider à corriger et optimiser ce code. <br /><br />Dans le fichier thanks.txt, placez le texte suivant avec l'adresse e-mail de l'utilisateur du client : <br /><br />Bonjour, cher '.$email_address . ' Merci de l'utiliser !<br /><br />Mon code :</p><p><strong></strong></p> <pre class="brush:php;toolbar:false;">funtion create_zip_file() { // Obtenez l'adresse e-mail de l'utilisateur actuel ! $current_user = wp_get_current_user(); $email_address = $current_user->user_email; $md5_address = md5($email_address); $chemin_répertoire = 'mesfichiers/cloud/' . $md5_address '/'; si (!file_exists($directory_path)) { mkdir($chemin_répertoire, 0777, vrai); } $Monfichier = file_put_contents($directory_path . 'file.dat' , $email_address); if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') { $site_url = 'https://' . $_SERVER['HTTP_HOST'] .'/'; } autre { $site_url = 'http://' . $_SERVER['HTTP_HOST'] .'/'; } $result = $site_url . $directory_path 'file.dat'; $ zip = nouveau ZipArchive ; if ($zip->open($zip_file , ZipArchive::CREATE) === TRUE) { //Ajouter des fichiers au fichier zip $zip->addFile($result); // Ajoute un fichier new.txt à compresser en utilisant le texte spécifié $zip->addFromString('thanks.txt', 'Bonjour, cher '.$email_address.' Merci de l'utiliser !'); // Tous les fichiers sont ajoutés, donc fermez le fichier zip $zip->fermer(); // Supprime le fichier après l'avoir zippé dissocier ($ résultat); } $zip_file = $site_url . $directory_path 'file.zip'; si (file_exists($zip_file)) { renvoie $zip_file ; } autre { renvoie faux ; } }</pré> <p><strong>Et j'appelle le fichier zip avec le code suivant : </strong></p> <p><code><a href="<?php echo create_zip_file();"> Télécharger le fichier zip </a></code></p> <p>Si j'utilise une adresse statique ($zip_file) dans le code suivant : </p> <p><code>if ($zip->open($zip_file , ZipArchive::CREATE) === TRUE)</code></p> <p>Le fichier zip est créé, mais lorsque j'utilise une adresse dynamique, le fichier zip n'est pas créé. </p>
P粉513318114P粉513318114460 Il y a quelques jours659

répondre à tous(1)je répondrai

  • P粉463824410

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

    $zip->addFile($result); attendait un chemin valide sur le serveur, mais vous avez transmis l'URL du fichier. $zip->addFile($result); 期望在服务器上传入有效路径,但你传入了该文件的URL。

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

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

    La même chose s'applique à $zip_file = $website_url . $directory_path 'file.zip';🎜🎜Veuillez utiliser le même chemin que vous avez utilisé lors de la création du fichier .dat : $zip->addFile($directory_path . 'file. dat') 🎜🎜🎜

    répondre
    0
  • Annulerrépondre