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

Apache Discussion :

APACHE et l'upload de fichier par formulaire


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut APACHE et l'upload de fichier par formulaire
    Bonsoir,

    Voici la situation qui se produit normalement dans un upload via un formulaire html:
    Le client sélectionne le fichier à uploader depuis un INPUT de type FILE.
    Puis pour récupérer les données en php il faut attendre là fin de l'upload. A partir de ce moment là, il est possible de récupérer les données et les informations sur l'upload avec le tableau $_FILES, grâce a un script php côté serveur en l’occurrence celui pointé par l'attribut ACTION du formulaire.

    Pourquoi ? Parce-que pendant l'upload, le serveur apache stock le fichier envoyé par le client dans un fichier temporaire, en règle générale c:/wamp/tmp/nom_fihcier.extension sous windows.

    Sauf que moi je souhaite faire l'upload sans passer par la création de ce fichier temporaire, c'est à dire lorsque le client envoie le formulaire donc une requete POST contenant le fichier à uploader, je veux configurer le server apache de tel manière qu'il ne passe pas par la création d'un fichier temporaire, mais que je puisse directement récuprérer les données envoyé par le client via un script php.

    J'ai trouvé une piste :http://httpd.apache.org/docs/current...ns.html#action

    D'après ce lien, j'ai créé un fichier handle_file.php dans le dossier /cgi/bin/ de apache avec uniquement un echo faire un test.
    Et dans mon fichier httpd.conf j'ai rajouté la ligne: " Script POST /cgi-bin/handle_file.php ".
    Pour mettre en pratique ceci, j'ai créé un formulaire et lors de l'envoi j'obtiens une belle erreur 500: " Internal server error ",
    En gros ma requête HTTP POST ne peut être traité car ma nouvelle ligne ne fonctionne pas.

    Je cherche donc qui s'y connait bien dans la configuration de module apache, car je sais que le module_actions est prévu pour ce genre de tâche.

    Merci d'avance, DSkkkk.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Ce n'est pas Apache qui crée le fichier temporaire mais PHP. Je ne suis pas sûr qu'il soit possible de faire ce que tu veux. Quelle piste t'as mené vers mod_actions ?

  3. #3
    Futur Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    Salut, tout d'abord merci de t’intéresser au sujet.

    C'est ce lien:

    http://www.php.net/manual/fr/feature...put-method.php

    -> "Script PUT /put.php" Permet pour 1 type de METHOD HTTP, ici PUT, de demander au serveur de passer par le script cgi demandé.

    Donc en faisait cela, ça permet de bypasser le fichier temporaire de l'upload, comme sur l'exemple du lien, en lisant les données en brute directement dans le stream php://input qui contient le corps de la requête.


    Seul problème, je n'arrive pas à implémenter les directives Script ou Action que ce soit directement dans le fichier httpd.conf ou par un simple htaccess.

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Sauf que l'upload par formulaire HTML est un POST. Ca ne peut pas être un PUT.

  5. #5
    Futur Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Sauf que l'upload par formulaire HTML est un POST. Ca ne peut pas être un PUT.
    Oui certes mais il est toujours possible de faire un upload avec PUT en ajax.
    Le put était uniquement pour l'exemple il doit surement être possible de le faire avec post ...

Discussions similaires

  1. Upload de fichiers par formulaire
    Par Clenzo dans le forum Langage
    Réponses: 18
    Dernier message: 09/10/2014, 04h19
  2. APACHE et l'upload de fichier par formulaire
    Par dskkk dans le forum Langage
    Réponses: 1
    Dernier message: 27/06/2012, 09h39
  3. Erreur lors de l'upload d'un fichier par formulaire
    Par loukoum82 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 06/10/2008, 09h45
  4. [Upload] Upload de fichier par formulaire
    Par discogarden dans le forum Langage
    Réponses: 4
    Dernier message: 31/03/2006, 19h17
  5. Upload de fichier par XMLHTTP
    Par Immobilis dans le forum ASP
    Réponses: 6
    Dernier message: 21/01/2005, 17h02

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