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 :

download fichier avec espace dans le nom


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut download fichier avec espace dans le nom
    Voici mon problème.
    Il y a quelque temps j'ai déja demandé de l'aide sur ce forum. Je voulais garder une trace des téléchargement et j'ai donc fait un script de téléchargement : voici un extrait

    ---------------------------------------- debut
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=\"$filename\"");
    header("Content-Length: ".filesize($file));
    header("Content-Transfer-Encoding: binary");
    readfile($file);
    ---------------------------------------- fin

    La variable file et filename vient d'une table.
    Tout marche bien saut que pour les nom de fichier avec espace ca marche pas.
    J'ai essayer de mettre des quotes simple double etc... Mais je ne trouve pas de solution. La seule solution c'est de renomer les fichiers mais avant j'aimerais demander l'aide.
    MERCI

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    urlencode ($filename)

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par sekaijin
    urlencode ($filename)
    Je ne comprends pas bien ce que je dois faire :
    ou est ce que je dois placer cette ligne ?

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    J'ai fait différentes tests avec cette nouvelle ligne et ca marche encore moins bien. Les fichiers sans espaces ne marche plus.
    Le filename ne me pose pas de problème mais c'est $file. Le vrai nom du fichier mp3
    par exemple nom1 nom2.mp3

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    renomme tes ficiers et enlève ces espaces !
    (c'est la solution la plus propre que je peux te donner...

  6. #6
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Oui, mais je pensais qu'il y avait une autre solution.

  7. #7
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    il y a bien urlencode qui est fait pour ça (voir contribution précédente) mais c'est plus propre d'avoir des noms de fichier sans caractères spéciaux...

  8. #8
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    l'urlencode c'est pour le file name (envoyé au client)

    pour ce qui est de l'ouverture de ton fichier lit la doc sur readfile

    mais il doit y avoir un truc du genre mon\ nom\ de\ fichier.mp3
    ou kkchose du genre qui fonctionne.

    A+JYT

  9. #9
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    J'ai trouvé : il me faut remplacer les " " par "%20" Mais il y a d'autres caractères comme cela.
    Ou est ce que je pourrais trouver la liste ? Faut il que je transforme chaque caractère spécial par d'autres ?
    Y a t il une fonction qui le fasse ?
    Bref j'avance mais à petit pas ...

Discussions similaires

  1. Sauvegarder pièces jointes avec espaces dans le nom
    Par Ced_Del dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 22/11/2011, 13h05
  2. Upload de fichiers avec crochets dans leurs noms
    Par NeO666Linux dans le forum Langage
    Réponses: 1
    Dernier message: 18/09/2011, 22h35
  3. Espace dans un nom de fichier
    Par pouli dans le forum Langage
    Réponses: 5
    Dernier message: 27/07/2006, 12h26
  4. [bat]espace dans le nom d'un fichier
    Par norac dans le forum Windows
    Réponses: 8
    Dernier message: 29/06/2006, 10h15
  5. Réponses: 4
    Dernier message: 29/10/2005, 18h36

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