8722 sujets

Développement web côté serveur, CMS

Bonjour, me revoilà avec une page blanche blanche côté serveur
En local lorsque je demande la création d'un fichier .zip et son téléchargement vers le client j'ai bien la fenêtre de dialogue "Windows" pour demander si ouverture ou téléchargement
Côté serveur en faisant la même demande j'ai un page blanche et donc pas de téléchargement. J'ai vérifié sur le serveur le .zip a bien été créé
Voilà mon script :

<!-- ====================================================== -->
<!-- ======== DownLoad-Theme-ZIPphp ============================ -->
<!-- ====================================================== -->
<?php
$zip = new ZipArchive();
$ret = $zip->open('Photos-Theme.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
printf("A échoué avec le code d'erreur %d", $ret);
} else {
$directory = realpath('.');
$options = array('add_path' => './', 'remove_path' => $directory);
$zip->addPattern('/\.(?:jpg|JPG|jpeg|JPEG|png)$/', $directory, $options);
$zip->close();
}
// ********************************************************************
// ================= Envoi du Fichier .ZIP ============================
header('Content-type: application/zip'); // on indique que c'est une archive
header('Content-Transfer-Encoding: fichier'); // transfert en binaire (fichier)
header('Content-Disposition: attachment; filename="Photos-Theme.zip"'); // nom de l'archive
header('Content-Length: '.filesize('Photos-Theme-Libre.zip')); // taille de l'archive
header('Pragma: no-cache');
header('Expires: 0');
header("location:Photos-Theme.zip"); // redirection vers le téléchargement de l'archive
?>


J'ai essayé en remplaçant la dernère ligne par :
echo("<script>document.location.href = 'Photos-Theme.zip';</script>");
Mais à rien ne fonctionne ni en local ni côté serveur
Merci d'avance pour votre aide
Modérateur
Et l'eau,

ton souci

header("location:Photos-Theme.zip"); // redirection vers le téléchargement de l'archive


la solution : readfile()
Oui je sais hélas que mon souci est header("Location ....
J'avais déjà essayé de remplacer par readfile($fichier) ;
En local cela fonctionne mais pas sur le serveur
Le fichier .zip sur le serveur est bien créé mais c'est son transfert vers le client qui pose gros souci
D'ailleurs ma page se trouve bloquée