Générez des fichiers zip dynamiques contenant des adresses et des fichiers variables et obtenez des liens téléchargeables
P粉513318114
P粉513318114 2023-08-08 19:02:30
0
1
663
<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粉513318114
P粉513318114

répondre à tous(1)
P粉463824410

$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') 🎜🎜🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal