envoi d'un ZIP - PHP - Programmation
Marsh Posté le 20-05-2010 à 17:25:44
$_COOKIE['dir'], ça va pas correspondre à un dossier qui se trouve sur le poste client par hasard? Si oui, en local, ça peut fonctionner, mais après, non.
Marsh Posté le 21-05-2010 à 09:32:30
En faite le problème ne vient pas de $_COOKIE['dir'] car il contient juste le nom du répertoire présent sur le serveur qu'il faut zipper.
Je pense que le problème vient surtout de l'envoi c'est à dire dans les header.
J'espère que j'ai bien expliqué mon problème, si vous avez une solution je suis preneur!
merci d'avance.
Marsh Posté le 25-05-2010 à 13:29:25
Essayes sans les headers. Tu sauvegardes le fichier zip dans un répertoire temp et tu proposes à l'utilisateur un lien hypertexte pour télécharger le fichier zip généré. Si ça marche bien, c'est que ça vient du contenu des headers.
Marsh Posté le 25-05-2010 à 16:21:45
Doit manquer des trucs...
http://www.commentcamarche.net/faq [...] ece-jointe
En gros faut prendre tout le contenu du fichier avec file_get_contents() et le mettre dans le mail.
Marsh Posté le 25-05-2010 à 17:59:02
ReplyMarsh Posté le 26-05-2010 à 11:49:02
G31 a écrit : Doit manquer des trucs... |
sauf que c'est pas un envoi par mail qu'il veut faire mais proposer un fichier en téléchargement...
Marsh Posté le 26-05-2010 à 14:56:05
C'est bon j'ai finalement trouvé une solution, je poste mon code avec des commentaires.
Code :
|
mike0794.
Marsh Posté le 27-05-2010 à 11:10:11
Si je comprends bien ce que tu as fait, t'es passé par un fichier stocké sur le serveur avant envoi, comme je te l'avais conseillé dans mon 2ième post, c'est bien ça?
Marsh Posté le 20-05-2010 à 16:45:41
Bonjour,
J'ai écrit un script PHP qui compresse un dossier en archive .ZIP que je souhaite envoyer par la suite.
Toute cette partie fonctionne mais j'ai un problème quand je souhaite l'ouvrir il y a un message d'erreur qui me dit que le fichier est endommagé.
Par contre j'ai essayé sans les header et l'archive s'ouvre correctement en local mais j'ai quand même besoin des header.
Voici mon code php:
include('pclzip-2-5/pclzip.lib.php');
$archive = new PclZip('datas.zip');
$data = $archive->create($_COOKIE['dir']);
header('Content-Type: application/zip');
header("Content-length: ".filesize("datas.zip" ));
header('Content-Disposition: attachment; filename="datas.zip"');
header('Content-Transfer-Encoding: binary');
$_COOKIE['dir'] correspond au répertoire à zipper.
Cordialement, mike0794.