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] petit problème d'upload


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut [Upload] petit problème d'upload
    Salut tout le monde,

    Voila j'ai un problème d'upload. J'ai fais un script vraiment tout simple mais sa ne fonctionne pas. Voici l'erreur que je reçoit :

    Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid/gid is 1554/100 is not allowed to access / owned by uid/gid 0/0 in /home/mesannonces.evoconcept.net/www/pages/insert_annonces.php on line 348
    Impossible de copier le fichier dans /images
    et voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form method="post" enctype="multipart/form-data" action="index.php?p=insertAnnounce&part=5">
    						<p>
    						<input type="file" name="fichier" size="30">
    						<input type="submit" name="upload" value="Uploader">
    						</p>
    					</form>
    et le code php

    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
    22
    23
    24
    25
    26
    27
    if(isset($_POST['upload']) ){
    					$content_dir = '/images'; // dossier où sera déplacé le fichier
     
    					$tmp_file = $_FILES['fichier']['tmp_name'];
     
    					if( !is_uploaded_file($tmp_file) ){
    						exit("Le fichier est introuvable");
    					}
     
    					// on vérifie maintenant l'extension
    					$type_file = $_FILES['fichier']['type'];
     
    					if(!strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') ){
    						exit("Le fichier n'est pas une image");
    					}
     
    					// on copie le fichier dans le dossier de destination
    					$name_file = $_FILES['fichier']['name'];
     
    					if(!move_uploaded_file($tmp_file, $content_dir . $name_file) ){
    						exit("Impossible de copier le fichier dans $content_dir");
    					}
     
    					echo "Le fichier a bien été uploadé";
    				}else{
    					echo'error upload';
    				};
    Je précise que mon dossier image a pour CHMOD 777 . donc je ne vois pas trop !

    merci de me donner un coup de main

  2. #2
    Expert confirmé 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
    Par défaut
    Quelle est l'arborescence pour accèder à ton dossier images ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    dossier root -> images

  4. #4
    Expert confirmé 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
    Par défaut
    Je trouve bizarre de placer un dossier images à la racine, mais soit...

    Que vaut open_basedir (cf phpinfo(); ) ?

    Essaie de jouer avec open_basedir ou safe_mode_include_dir avec '/images'...
    http://php.net/manual/fr/features.safe-mode.php

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    il a comme local value : /home/mesannonces.evoconcept.net/

  6. #6
    Expert confirmé 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
    Par défaut
    Essaie de rajouter /images

  7. #7
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    comment sa ? dans mon code php j'ai deja mis /images

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Par défaut
    Une piste à fouiller : une réponse a été apportée l'autre jour sur un problème similaire. Il s'agissait d'un paramètre dans la config de php qui interdit à tout autre que le propriétaire de modifier un fichier.

    Si c'est le même problème alors il faut seulement changer le php.ini.

  9. #9
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    seulement changer le php.ini n'est pas très bien approprié lol... je suis chez un hebergeur et non en local

  10. #10
    Expert confirmé 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
    Par défaut
    Si tu es chez un hébergeur, explique moi comment tu peux créer un dossier /images ?
    Pourquoi ne places-tu pas tes images dans /home/mesannonces.evoconcept.net/images/ ?
    1. Tu es plus cohérent avec l'architecture
    2. safe_mode n'aura plus d'effet normalement

  11. #11
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    ??? mais mon fichier qui contient le code est a la racine du site. ensuite ya un dossier images donc je ne vois pas ou est le problème.

  12. #12
    Expert confirmé 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
    Par défaut
    Il y a racine et racine!

    Tu as la racine du filesystem, du serveur : /
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /etc
    /home
    /usr
    /var
    Tu as la racine de ton espace ftp : /home/mesannonces.evoconcept.net
    Ensuite tu as la racine de ton application web : /home/mesannonces.evoconcept.net/www/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    index.html
    insert_annonces.php
    styles/style.css
    (Cette dernière racine correspond à http ://mesannonces.evoconcept.net/)

    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    /                                   // <-- racine du serveur
     +- etc
     +- home
     |  `- mesannonces.evoconcept.net   // <-- racine de ton espace ftp
     |     +- www                       // <-- racine de ton application web
     |     |  +- index.html
     |     |  `- insert_annonces.php
     |     `- data
     +- usr
     `- var
    Note que cette architecture est dépendante de ton hébergeur, par exemple chez free.fr, racine ftp == racine web

    Quand tu executes un script php, ce dernier n'a connaisance que d'une seule racine : celle du serveur !
    Ainsi quand tu indique /images, il va chercher dans... /images
    Il faut lui dire d'aller dans /home/mesannonces.evoconcept.net/www/images
    ou /home/mesannonces.evoconcept.net/images suivant où est placé ton dossier. Je ne sais pas si je suis clair, mais je me comprends c'est l'essentiel ^^

  13. #13
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    merci !

    jai mis mon liens comme suivant : /home/mesannonces.evoconcept.net/www/images/

    sa fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FTP] Problème pour uploader un fichier
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 07/01/2008, 22h21
  2. [AJAX] upload multiple avec (fancy upload)
    Par sculpteur dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/12/2007, 17h55
  3. [CKEditor] Problème sur upload
    Par raptor70 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 23/11/2005, 14h07
  4. [PHP - MSSQL] Problème d'upload / binaire
    Par noiserie dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 25/07/2005, 18h03
  5. [Upload] Problème d'upload :)
    Par manu_du_31 dans le forum Langage
    Réponses: 3
    Dernier message: 14/11/2004, 15h56

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