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] Upload de fichier - Erreur de permission


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 58
    Points : 22
    Points
    22
    Par défaut [Upload] Upload de fichier - Erreur de permission
    Bonjour à tous.
    Je suis étudiant en alternance et je dois résoudre un problème survenu à la suite d'un changement de serveur. Le problème c'est que ça devient du domaine pointu et je suis totalement nouveau là dedans.

    Eléments pour vous aider:
    PHPinfo:
    phpinfo.php

    message d'erreur lors de la soumission d'un fichier :
    Warning: move_uploaded_file(../CV_candidats/97561751CDcF.pdf) [function.move-uploaded-file]: failed to open stream: Permission denied in /var/www/virtual/emploi-medical.com/htdocs/candidat/candidature-spontanee.php on line 195

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/var/www/virtual/emploi-medical.com/phptmp/phpvPEBS4' to '../CV_candidats/97561751CDcF.pdf' in /var/www/virtual/emploi-medical.com/htdocs/candidat/candidature-spontanee.php on line 195

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/emploi-medical.com/htdocs/candidat/candidature-spontanee.php:195) in /var/www/virtual/emploi-medical.com/htdocs/candidat/candidature-spontanee.php on line 348

    et enfin : la fameuse ligne 195 de mon fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    move_uploaded_file($_FILES['file_cv']['tmp_name'],$dest_dossier.$num.$_FILES['file_cv']['name']);

    Mon hébergeur me dit qu'il faut que je fasse un "chown" sur le fichier après l'avoir uploadé
    or, le chown est une commande unix qu'il faut lancer en mode root, je ne vois pas comment faire ça dans mon fichier php...

    Merci énormément d'avance !
    A bientôt !

    PS : est-il utile que je poste le fichier source complet de ma page ?

    EDIT : mon répertoire CV_candidats est en CHMOD 755

  2. #2
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    Bonjour,

    La fonction system permet d'éxécuter des commandes sur le serveur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    system("chown apache <ton_chemin>");
    Gillou

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 58
    Points : 22
    Points
    22
    Par défaut
    Ah ! interessant
    Alors comment modifier l'utilisateur d'un répertoire ?
    Ensuite, où cela se place t-il dans le code de la page ?

  4. #4
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    chown, ca veut dire change owner.
    Qui veut dire "change de propriétaire"

    Il faut le mettre au début du code, pour pouvoir écrire dans le dossier.
    Si tu as des droits en 755, ca veut dire que le propriétaire à les droits maximum sur le dossier (le 7).
    remarque : le premier 5, c'est pour le groupe etle deuxième 5, c'est pour les autres.
    Il faut donc que apache soit propriétaire avant d'essayer d'écrire dans le dossier.

    Gillou.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 58
    Points : 22
    Points
    22
    Par défaut
    En résumé :
    Est-ce que ça, ça marchera ? "CV_candiats" étant mon dossier destination.

    system("chown apache $_SERVER['DOCUMENT_ROOT']."/CV_candidats/"");

    Merci de m'aider.

  6. #6
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    Sans doute pas

    Essaye ca plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    system("chown apache \"" . $_SERVER['DOCUMENT_ROOT'] . "/CV_candidats\"");
    Gillou.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 58
    Points : 22
    Points
    22
    Par défaut
    Non, je dis n'importe quoi.
    Je veux que le programme change le propriétaire du fichier en question, pas du répertoire destination

  8. #8
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    c'est la même commande, mais avec le chemin du fichier, à la place du chemin du répertoire.

Discussions similaires

  1. [Upload] upload d'un fichier avec apostrophe
    Par SegmentationFault dans le forum Langage
    Réponses: 5
    Dernier message: 07/09/2006, 10h37
  2. [Upload] Upload de GROS fichiers en php
    Par osscour dans le forum Langage
    Réponses: 21
    Dernier message: 26/05/2006, 14h13
  3. [Upload] Upload d'un fichier excel sur un site web
    Par oldscrout dans le forum Langage
    Réponses: 3
    Dernier message: 31/03/2006, 10h09
  4. [Upload] Upload, renommer le fichier
    Par Alain15 dans le forum Langage
    Réponses: 15
    Dernier message: 14/02/2006, 14h06
  5. [Upload] Upload de gros fichiers
    Par Rémiz dans le forum Langage
    Réponses: 8
    Dernier message: 07/01/2006, 11h44

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