IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] Probleme avec le transfer


Sujet :

Langage PHP

  1. #1
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut [Upload] Probleme avec le transfer
    Bonjour tout le monde
    Voìci ma situation

    J'ai une page continuer un dossier
    Dans cette page, j'aimerais avoir tous les fichiers que contient le dossier afin de pouvoir les télécharger pour fin de modification...je les upload par la suite sur le serveur
    l'upload ne me cause pas de pb..ca marche pas de trouble

    Le download m'agace...
    J'aimerais faire afficher dans un tableau, la liste de fichier, avec un lien télécharger maintenant. Ce lien aurait comme référence le chemin d'accès du fichier sur le serveur

    Mais voilà, je croyais qu'en mettant un simple lien de type <a> avec le href pointant sur le chemin d'accès, ce serait facile, mais ce n'est pas le cas...En faisant mon test j'ai déduit qu'il irait probablement chercher un fichier sur l'ordinateur local au lieu de sur le serveur...
    Je ne sais pas si c'est parcequ'il est tard que je ne comprends pas comment faire, mais bon je ne sais pas vraiment comment faire la
    Un peu d'aide stp?

    Une question serait: comment fait-on pour mettre en lien un fichier qui se trouve sur le serveur...J'aimerais qu'en clickant dessus, ca affiche télécharger le fichier dans le répertoire...sur l'ordi du client


  2. #2
    Membre éprouvé Avatar de ..:: Atchoum ::..
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par défaut
    Salut,

    Je pense qu'en fait tu dois fournir a tes <a> des liens absolus sur le serveur.

    Si le DocumentRoot de ton serveur est /var/www tu pourras faire des liens du style : <a href='fichier.zip'>fichier.zip</a> en imaginant que le fichier soit dans le répertoire /var/www

    Si ce que tu veux faire doit pouvoir permettre de télécharger n'importe quel fichier sur le serveur(par exemple /etc/fichier.conf.zip). Tu peux le faire mais pas avec un <a> il faut que tu forces le téléchargement en php. Ton script php (qui lui a le droit de parcourrir l'arbo du serveur) enverra en téléchargement ce qu'il lit.

    Cf. http://fr.php.net/header pour forcer le téléchargement.

    ++

  3. #3
    Fabouney
    Invité(e)
    Par défaut
    bonjour, je pense qu'atchoum a été très clair, moi meme ayant eu se probleme un jours, en utilisant les header pour forcer le téléchargement, cela fonctionne impecablement bien.

    bon courage.

  4. #4
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    Oki merci pour ces réponse
    en effets sur le serveur ce n'est pas dans le répertoire /var/www que je veux télécharger
    je vais voir ce que je peux faire avec les headers
    je ne m.y connais pas vraiment mais bon un peu de recherche et ca y sera, du moins j'espere

    Bonne journée
    Je mets résolu, mais si jamais j'ai des probleme je reviendrai sur ce meme post

  5. #5
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    Bonjour
    j'ai fait des recherches sur les headers comme vous m'avez dit

    Alors j'ai trouver un script que j'ai modifier pour mon projet
    ca fonction pour le transfer de fichier
    le PROBLEME c'est que le fichier transferer est vide!!!!!

    Alors je me demande s'il y a quelque chose que je n'ai pas fait correctement pour qu'il perde sont contenu...

    Je vous laisse la partie des header en code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $fichier = $_GET['file'];
    $path = $_GET['dossierPath'];
    //echo $path.$fichier;
     
    header("Content-disposition: attachment; filename=$fichier");
    header("Content-Type: application/force-download");
    header("Content-Transfer-Encoding: binary"); 
    header("Content-Length: ".filesize($path.$fichier));
    header("Pragma: no-cache");
    header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    header("Expires: 0");
    }
    Les variable que je recois dans mon get sont correct j'ai afficher leur résultats
    alors qu'est ce que je fais de pas correct
    merci pour le coup de main

  6. #6
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    Bon j'ai trouvé
    je crois que c'était un trouble avec le filesize

    alors pour le download de fichier ca marche avec les headers
    merci ..:: Atchoum ::..

    voici mon code pour ceux que ca intéresse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    $fichier = $_GET['file'];
    $path = $_GET['dossierPath'];
    //echo $path.$fichier;
     
    $downloadurl = $path . $fichier;
    $size = filesize($downloadurl);
     
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private",false);
    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=\"".$fichier."\";");
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".$size);
     
    readfile($downloadurl); 
    exit;
    Ca marche nickel!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme avec upload pour chargement d 'un pdf
    Par magda62 dans le forum Langage
    Réponses: 4
    Dernier message: 28/04/2009, 12h40
  2. probleme avec l'upload en php
    Par jerem721 dans le forum Langage
    Réponses: 4
    Dernier message: 20/07/2008, 11h19
  3. probleme avec upload de fichier
    Par you.baddi dans le forum Struts 1
    Réponses: 4
    Dernier message: 15/06/2008, 02h04
  4. [Upload] Probleme de transfer
    Par ozzmax dans le forum Langage
    Réponses: 3
    Dernier message: 09/02/2006, 22h17
  5. [Upload] Probleme de variable avec require_once
    Par Phenomenium dans le forum Langage
    Réponses: 4
    Dernier message: 31/01/2006, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo