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] Obliger le téléchargement d'un jpg


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 58
    Points : 44
    Points
    44
    Par défaut [Upload] Obliger le téléchargement d'un jpg
    Bonjour,

    J'utilise ce script pour forcer le téléchargement d'un jpg :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    header("Content-disposition: attachment; filename=".$file); 
    header("Content-Type: application/force-download"); 
    header("Content-Transfer-Encoding: image/jpeg\n"); // Surtout ne pas enlever le \n
    header("Content-Length: ".filesize($chemin.$file)); 
    header("Pragma: no-cache"); 
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); 
    header("Expires: 0"); 
    readfile($chemin.$file); 
    ?>
    Je ne comprends pas ! Ce script semble fonctionner puisque qd on clique sur le lien, le navigateur demande si on veut ouvrir ou sauvegarder l'image.
    Mais l'image téléchargée est illisible ! Erreur : Le format du document n'est pas valide ou n'est pas pris en charge. Pourtant l'image sur le ftp est ok.
    Quand je fais propriétés sur l'image téléchargée : le poids est bizarre, inférieur à ce qu'il devrait être.
    J'ai l'impression que l'image n'est pas recopiée en entier !

    Quelqu'un peut-il m'aider ?

    Merci d'avance

  2. #2
    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
    Essaye d'enlever le header content-length

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 58
    Points : 44
    Points
    44
    Par défaut
    euh ! non ca ne change rien !
    je ne telecharge que 4096 octets
    est-ce qu'il y a un truc à définir dans php.ini ?

  4. #4
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    bonjour,

    regarde dans ton php.ini la valeur de upload_max_filesize

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 58
    Points : 44
    Points
    44
    Par défaut
    ca j'ai regardé et c'est 4Mo

    donc ca devrait passé puisque les jpeg font environ 2Mo

  6. #6
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    si tu fais un echo de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    filesize($chemin.$file)
    qu'obtiens tu? la vraie taille de ton .jpeg?

  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
    upload_max_filesize c'est pour l'upload par pour le download non ?

  8. #8
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Citation Envoyé par Mr N.
    upload_max_filesize c'est pour l'upload par pour le download non ?
    ouais, c'est vrai, desole chuis un peu brumeux ce matin

  9. #9
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut Re: Obliger le téléchargement d'un jpg
    Essaie de commencer par quelque chose de simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
        $base = '/acces/au/fichier/' ;
        $file = 'image-test.jpeg' ;
        header('Content-Type: image/jpeg') ; // Permet au client d'ouvrir le programme de traitement adéquat
        header("Content-Disposition: attachment; filename=\"$file\"") ; // Force le dl
        header('Content-Length: ' . filesize($base . $file)) ; // Permet de connaître l'avancement du dl
        readfile($base . $file) ;
    ?>
    Si ça fonctionne tu pourras ensuite t'atteler aux problèmes liés au cache & cie.

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 71
    Points : 57
    Points
    57
    Par défaut ...
    Salut,

    Etrange, j'ai fait un copier/coller de ton code donné des valeurs à $file et $chemin ... Je test ... aucun problème. L'image est bien télécharger et s'affiche correctement. J'ai testé avec Firefox et IE ...
    Pour info J'utilise PhP 5.1 avec Apache 1.3.33 . Version Win32 ...

    Désolé de ne pas pouvoir t'aider. Comme dit ci-dessus. Enléve ce qui concerne le cache pour le moment.

    ++

Discussions similaires

  1. [MySQL] upload fichier format csv au lieu jpg es possible ?
    Par Debutant10 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/05/2012, 22h15
  2. Réponses: 3
    Dernier message: 13/10/2008, 15h08
  3. Header et téléchargement d'image JPG
    Par Nyphel dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/03/2008, 16h20
  4. Réponses: 3
    Dernier message: 27/09/2007, 11h40
  5. Obliger le téléchargement d'une police.
    Par Strappal dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 23/05/2006, 16h07

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