Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Téléchargement de fichier en php


Messages recommandés

Bonjour à tous et à toutes,

 

J'ai besoin de vos lumières, je vais essayer d'être clair...

 

Prenons le cas d'une galerie de photos (c'est un exemple pour expliquer :P ), un visiteur se loggue, choisit plusieurs photos, un zip de ces photos est créé, le zip est envoyé automatiquement depuis le navigateur.

 

Je sais coder toutes les opérations ci-dessus, mais le déroulement ne me convient pas...

 

Voici les étapes que j'aimerais mettre en place :

 

- login + choix des photos : je sais faire...

- une fois le choix fait, je redirige vers une page, sur cette page je vérifie les infos de connexion et de choix, les variables sont passées via un formulaire et URL, je recup donc avec GET et POST : jusque là, tout va bien.

- Une fois les infos vérifiées, je créé un zip avec les photos, j'affiche une page avec un message du style "le téléchargement va commencer" : pareil, tout va bien.

 

- Une fois le zip fait, je redirige vers une autre page qui lance le téléchargement de ce zip...

- Une fois le zip téléchargé, j'aimerais soit le déplacé de dossier, soit le supprimer...

 

Voilà, ce sont les deux dernières étapes qui me posent problème....

 

En effet, je veux que ce zip final ne soit pas accessible par d'autres personnes et que l'url de ce zip soit cachée....

 

Pour cacher le nom réel du zip et son emplacement, j'utilise ceci :

 

	if (strstr($HTTP_USER_AGENT, "MSIE"))
   $attachment = "";
else
   $attachment = " attachment;";
header("Content-type: application/zip");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . $taille . "");
header("Content-Disposition: attachment; filename=$nom_zip_final");
header("Content-Description: File Transfert");
header("Cache-Control: no-store, no-cache, must-revalidate");

readfile($url_zip_final);

 

Ce bout de script fonctionne très bien, mais à condition qu'aucun header ne soit envoyé avant, donc je ne peux pas afficher une page avec un message avant d'envoyer le fichier...

 

J'aimerais donc vos idées, avis concernant le passage de la page de vérif avec affichage d'un message et l'envoi de ce fichier (popup javascript, autre ?? )

 

Merci à vous :-(

Lien à poster
Partager sur d’autres sites

Bonsoir,

 

je n'ai pas la réponse à ta question, mais je dirai qu'il faut déjà revoir le code par rapport à des contrôles type "si le brouteur est IE, sinon" ...

Je dis ça moi, comme je pourrai ne rien dire, mais pourquoi toujours coder une page par rapport à un navigateur?? :P

Lien à poster
Partager sur d’autres sites

Justement, je ne code pas en fonction d'un navigateur, mais ce test permet de lancer correctement le téléchargement depuis IE...

Et oui IE ne réagissant pas comme les autres, il faut lui mettre une condition propre à lui pour que ça marche :P

 

J'ai bien sûr testé ce code sur bcp de navigateurs (IE, Moz, Opera, Firefox) et il fonctionne à merveille, là n'est pas le problème...

 

:-(

Modifié par simous
Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...