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 :

[FTP] problème avec le chmod à la création d'un dossier


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 29
    Points : 10
    Points
    10
    Par défaut [FTP] problème avec le chmod à la création d'un dossier
    bonjour,
    je voudrais créer un dossier ayant un chmod égal à 777.
    j'utilise donc la fonction mkdir() comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mkdir('dossier/', 0777);
    résultat: j'obtiens un dossier dont le chmod est égal à 755...
    j'ai du mal à comprendre cela.

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    c'est sur système unix ? > peut-être un souci de umask ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    en ajoutant cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chmod($chemin_dossier.$nomDossierCreer, 0777);
    le chmod obtenu est bien 777.
    Mais mon probleme n'est pas résolu pour autant.
    voici le contexte: un petit code php permettant de créer des dossier, puis de créer des sous-dossiers dans ces dossiers.
    mais voila, ce code ne fonctionne que lorsque le dossier à été créer manuellement, c-à-d depuis filezilla. Je pensais que c'était du au chmod des dossiers créer (755 au lieu de 777). Pourtant, même maintenant que le chmod obtenu est bien 777, je reçoit ce message d'erreur:
    Warning: mkdir(): SAFE MODE Restriction in effect. The script whose uid is 836 is not allowed to access monsite.com/dossier_a_creer owned by uid 48 in monsite.com/script.php on line 82

  4. #4
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    cela est dû (je suppose) à la configuration PHP imposée par ton fournisseur

    C.F. : http://fr.php.net/features.safe-mode



  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut Re: probleme avec le chmod à la création d'un dossier
    Citation Envoyé par pomgnon
    bonjour,
    je voudrais créer un dossier ayant un chmod égal à 777.
    j'utilise donc la fonction mkdir() comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mkdir('dossier/', 0777);
    résultat: j'obtiens un dossier dont le chmod est égal à 755...
    j'ai du mal à comprendre cela.
    question toute bete as tu essayé comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mkdir("dossier/", 0777);

  6. #6
    Membre averti
    Avatar de onet
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2002
    Messages : 365
    Points : 344
    Points
    344
    Par défaut
    Je pense que c'est surtout du au fait que c'est le serveur apache qui crée tes dossier. En conséquence, c'est lui qui a les droits dessus. Or celui-ci est différent de ton utilisateur ftp.

    EN conséquence, si tu veux permette a XYZ d'accéder/voir/éditer tes dossiers, tu dois:

    - soit affecter XYZ dans le groupe d'apache
    - Soit changer le dossier d'utilisateur (méthode plus propre, mais largement plus complexe a mettre en oeuvre).

    Enfin, il me semble, je n'ai pas encore essayer. Redis-moi

    Onet
    ---
    Retrouvez tout mes tutos et mes articles: http://www.olivierlange.com

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    apparement le safe mode est activé sur mon hebergeur
    Fonctions désactivées par le Safe Mode:
    mkdir() Note : Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
    donc si je comprends bien, comme le fichier contenant le script a été envoyé par mon logiciel ftp et que le dossier parent fut crée par le serveur, ça ne fonctionne pas.
    alors que lorsque le dossier parent vient lui aussi du logiciel ftp, c'est le même propriétaire, il y a donc création du dossier...
    malheureusement, je ne sais comment faire ce que tu me proposes, Onet.
    - soit affecter XYZ dans le groupe d'apache
    - Soit changer le dossier d'utilisateur (méthode plus propre, mais largement plus complexe a mettre en oeuvre).
    Cela dit je me demande s'il serait possible de contourner se problème en demandant au serveur de créer la page contenant le script. Mais je ne sais pas si c'est possible.

  8. #8
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    hmmm, avant de chercher midi à quatorze heures, pourrais-tu nous expliquer ce que tu veux faire au juste ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    j'écrit un petit systeme de gestion d'images.
    j'ai besoin de gérer un dossier image/ dans lequel je pourrais créer des sous-dossiers etc...

  10. #10
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    le rapport avec FTP ?

    si ton dossier image est sous-jacent au répertoire web, tu ne devrais pas avoir de problème de création de répertoire dans celui-ci...

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par ska_root
    le rapport avec FTP ?
    une constatation: lorsque je tente de créer un sous-dossier à un dossier, créer depuis le FTP, grace à un script (lui aussi "créer" depuis le FTP), tout ce passe comme prévu.
    mais lorsque je tente de créer un sous-dossier à un dossier justement crée avec la commande mkdir, je reçoit une erreur me parlant de Safe Mode.
    et le Safe Mode justement:
    Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

  12. #12
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    je ne vois toujours pas pourquoi tu veux à tout prix te prendre la tête...

    commence par créer un script qui crée un répertoire images alors, ou inclues cette condition dans ton script de création des répertoire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $rep_images="images";
    if(!file_exists($rep_images))  mkdir($rep_images, 0755);

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    j'avoue ne pas te comprendre...

  14. #14
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    bon je recommence...

    imaginons que ton répertoire web s'appelle "www", dans celui-ci un répertoire "images" et que tu veuilles dans l'action d'un script créer un répertoire (éventuellement de manière dynamique) nommé "repXX"

    voici ce que tu peux faire (par exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // pour éviter de se prendre la tête avec FTP
    $rep_images="images";
    if(!file_exists($rep_images))  mkdir($rep_images, 0755);
     
    // puis pour créer un répertoire (dynamique) pour les images
    $rep_images="repXX";
    if(!file_exists($rep_images))  mkdir($rep_images, 0755);
    tu as donc maintenant :
    www/images/repXX
    c'est plus clair là ?

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    mais les dossiers sont déjà créer comme cela...
    tant que le fichier php demande la création d'un nouveau dossier n'aura pas le meme propriétaire que le dossier, cela ne fonctionnera pas.

    je viens de tester ta proposition, ca ne fonctionne pas.

  16. #16
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    oui je comprends bien... supprimes tes répertoires avec FTP, et essaies ce que je t'ai proposé et tu verras...

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    as tu testé ma petite modificatio nde guillemet me semble avoir eu se probleme a cause de ca?

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par ska_root
    oui je comprends bien... supprimes tes répertoires avec FTP, et essaies ce que je t'ai proposé et tu verras...
    je l'ai fais, mais ca ne change rien au probleme: le propriétaire du script n'est pas le même que celui du dossier.

  19. #19
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Citation Envoyé par pomgnon
    je l'ai fais, mais ca ne change rien au probleme: le propriétaire du script n'est pas le même que celui du dossier.
    de quel dossier parles-tu ?

    le répertoire web est par défaut associé à l'utilisateur apache, a partir de là, tout répertoire crée en dessous via un script php sera apache lui-aussi...

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    mais la page php contenant le code demandant de créer un dossier, il faut bien que je l'envoie sur le serveur, apache ne peut le créer à partir de rien... il n'aura donc pas le meme UID que les dossiers.
    resultat: le Safe mode fait des siennes.

Discussions similaires

  1. [FTP] Problème avec fopen ou mon hébergeur ?
    Par YagamiLight dans le forum Langage
    Réponses: 2
    Dernier message: 06/07/2007, 17h06
  2. [FTP] Problème avec shell_exec() (safe_mode = Off)
    Par FrankOVD dans le forum Langage
    Réponses: 10
    Dernier message: 08/03/2007, 15h02
  3. [FTP] Problème avec mput
    Par Death83 dans le forum MATLAB
    Réponses: 1
    Dernier message: 20/12/2006, 13h00
  4. [FTP] Problème avec fopen sur URL
    Par Biboune2008 dans le forum Langage
    Réponses: 14
    Dernier message: 22/06/2006, 17h00
  5. Réponses: 4
    Dernier message: 06/01/2006, 10h45

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