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] Renommer un fichier avant de l'envoyer


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Points : 26
    Points
    26
    Par défaut [Upload] Renommer un fichier avant de l'envoyer
    bonjour à tous,

    J'ai un script PHP qui lance le téléchargement d'un mp3 situé dans un dossier protégé par htaccess denyFromall.

    Il marche très bien, mais les noms de fichiers à l'intérieur sont explicites : exemple : Auteur - Titre.mp3

    Pour le moment ça marche, mais je m'attend à des erreurs si les fichiers ont des noms de fichiers un peu exotiques (avec des lettre bizarres ).

    J'aimerais donc leur donner une ID.
    Seulement, lors du téléchargement, le fichier doit être renommé, je ne veux pas envoyer 12454624.mp3 au client.

    ya-t-il un moyen de faire ceci sans renommer le fichier lui-même sur le serveur ?

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    désolé, mais je ne peux pas cautionner un site de téléchargement mp3 sans être garanti que tu respectes les droits d'auteur...

    est-ce le cas ?

    peut-être devrais-tu reposer ta question différemment..


  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Effectivement, j'aurais du préciser.
    Et il s'agit bien de lancer le téléchargement de mp3s musicaux dont j'ai un contrat avec l'auteur, aucun problème

    Si vraiment c'est gênant je remplace par des txt c'est pareil

  4. #4
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    comment proposes-tu le téléchargement ? un lien direct sur le fichier ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    non un lien point vers download.php avec en paramètre l'id de la chanson :

    Dans download.php, ya divers traitements, puis :

    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
    21
     
    		   $filename = "mp3files/".$groupenom." - ".$nom.".mp3";;
               $filename = realpath($filename);
     
     
    $ctype="application/force-download";
     
               if (!file_exists($filename)) {
                   die("NO FILE HERE");
               }
     
               header("Pragma: public");
               header("Expires: 0");
               header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
               header("Cache-Control: private",false);
               header("Content-Type: $ctype");
               header("Content-Disposition: attachment; filename=\"".basename($filename)."\";");
               header("Content-Transfer-Encoding: binary");
               header("Content-Length: ".@filesize($filename));
               set_time_limit(0);
               @readfile("$filename") or die("File not found.");
    et en fait le nom du fichier à trouver va sûrement merder un jour ou l'autre, vu qu'il n'est pas constitué de chiffres ou de lettres basiques. J'aimerais donc que ce soit un fichier "13424.mp3" qui soit appellé renommé et envoyé.

  6. #6
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    ce qui me paraît beaucoup plus logique, vu que tu laisses le choix du nom de fichier en upload...

    tu ferais mieux de nommer toi-même le fichier uploadé, puis de passer par une table sql pour récupérer le nom_artiste/titre pour l'affichage, et son nom réel pour le téléchargement

    m'enfin, c'est mon avis

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    et bien oui !
    au moment de l'upload, le fichier est renommé en "Artiste - Titre.mp3" et l'artiste et le titre sont dans la BDD.

    et la au téléchargement, on se sert de la BDD pour reconstruire le nom du fichier à envoyer.

    Il n'y a aucun risque d'erreur en faisant comme ça ? un "n" espagnol qui merde dans la BDD par exemple ?

  8. #8
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    si bien sûr qu'il y a le risque...

    tu travailles le tout en UTF-8 ?

    tu peux aussi par précaution passer le nom de fichier au crible avec str_replace et en paramètres tous les caractères spéciaux...

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    ouais mais dans ce cas ça va rendre un peu le nom bizarre si ça le modifie...
    Mais sinon tu vois aucun moyen de modifier le nom de fichier juste au moment de l'envoyer ?

    je dis n'importe quoi mais en ajoutant un header par exemple...

  10. #10
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    ben non je ne vois pas...

    ça ne veut pas dire que c'est impossible non plus... mais j'ai jamais eu besoin de le faire

    désolé, j'espère que tu trouveras une solution à ton problème, n'hésites pas à nous en faire profiter


  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    pas de problème si je trouve, je post ici + résolu

Discussions similaires

  1. [Upload] Renommer un fichier avant de l'uploader
    Par le.squal dans le forum Langage
    Réponses: 4
    Dernier message: 23/03/2008, 18h12
  2. Réponses: 4
    Dernier message: 11/07/2007, 12h26
  3. [Upload] renommer un fichier uploader !
    Par keishah dans le forum Langage
    Réponses: 3
    Dernier message: 04/10/2006, 21h22
  4. [Upload] renommer un fichier uploadé
    Par spawns dans le forum Langage
    Réponses: 13
    Dernier message: 08/07/2006, 20h29
  5. [Upload] Upload, renommer le fichier
    Par Alain15 dans le forum Langage
    Réponses: 15
    Dernier message: 14/02/2006, 14h06

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