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>