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 :

Image upload https.


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut Image upload https.
    Bonjour,

    J'ai un formulaire qui marche très bien pour envoyer des Images, les copier et les redimensionner.

    J'ai passé le site en SSL avec une certification Geotrust. Tout marche nickel sauf le transfert de fichier.

    Le formulaire est comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name='sendAvatar' method='post' action='if_avatar_resize.php' enctype='multipart/form-data' target="If_avatar_resize">
    Donc je transfère l'image dans une iframe. Dans l'iframe il y a ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (!copy($_FILES['file_image']["tmp_name"], $dest_file)) {
      echo $_FILES['file_image']["tmp_name"]."La copie $file du fichier a échoué...\n".$dest_file ;
    } else {
      echo $_FILES['file_image']["tmp_name"]."La copie $file du fichier OK " ;
    }
    Avec exactement le même fichier transféré, quand le site est en HTTPS j'ai tout le temps le message d'erreur "La copie du fichier a échoué".

    J'ai donc vérifié dans le répertoire /tmp si il y avait bien transfert du fichier:

    Sans SSL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    -sh-3.2$ ll phpW7XSL6
    -rw------- 1 apache apache 2279079 Jan 26 00:52 phpW7XSL6
    -sh-3.2$ ll phpW7XSL6
    ls: phpW7XSL6: No such file or directory
    Avec SSL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    -sh-3.2$ ll phpbcUxyG
    -rw------- 1 apache apache 2160218 Jan 26 00:53 phpbcUxyG
    -sh-3.2$ ll phpbcUxyG
    ls: phpbcUxyG: No such file or directory
    Donc que le formulaire soit en SSL ou pas, le fichier est bien uploadé dans /tmp.

    Par contre si le fichier a été uploadé en SSL, sa copie ne passe pas.

    Quelqu'un a-t-il une idée pourquoi ?

    Merci,
    Vincent.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Si tu utilises move_uploaded_file t'as le même problème ?
    Peut-être des problèmes de droits d'écriture ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    Si tu utilises move_uploaded_file t'as le même problème ?
    Peut-être des problèmes de droits d'écriture ?
    Oui, j'ai modifié le code comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(is_uploaded_file(realpath($_FILES['file_image']["tmp_name"]))) {
        if (!move_uploaded_file(realpath($_FILES['file_image']["tmp_name"]), $dest_file)) {
          echo $_FILES['file_image']["tmp_name"]."The copy of the file has failed...\n".$dest_file ;
        } else {
          echo $_FILES['file_image']["tmp_name"]."Copy of the file OK " ;
        }
      } else {
        echo "File not uploaded!!!" ;
      }
    J'ai également regardé le retour de $_FILES['file_image']['error'] est c'est à 0 tant pour une requête HTTP que pour HTTPS.

    Pour ce qui est des droits d'écriture, je ne pense pas que le problème vienne de là puisque le répertoire destinataire ne dépend pas de HTTP ou HTTPS et ça marche en HTTP.

    Bref, je ne serais pas étonné que cela vienne d'une option de apache !

Discussions similaires

  1. Upload d' image en http python 3
    Par alaiks dans le forum Réseau/Web
    Réponses: 0
    Dernier message: 17/07/2014, 18h07
  2. [Upload] Renommer une image uploadée
    Par Empty_body dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2006, 07h51
  3. Problème de récup image via http://
    Par TK5EP dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2005, 20h59
  4. [CSS] background-image: url("http
    Par Ghost Warrior dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 25/12/2005, 11h58
  5. Réponses: 8
    Dernier message: 19/04/2005, 13h04

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