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 :

Droits d'écriture pour un fichier


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 134
    Points : 71
    Points
    71
    Par défaut Droits d'écriture pour un fichier
    Bonjour à tous

    j'ai actuellement un problème sur l'écriture dans un fichier .bat que je créé.. Je créé donc un fichier .bat sur mon disque local (C: ) avec fopen(), et je tente d'écrire dedans avec fputs().
    Voici mon code, et l'erreur que j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    mkdir('C:\\sqlloader','0777');
    fopen('C:\\sqlloader\test.bat','w+');
    fputs('C:\\sqlloader\\test.bat','ipconfig');
     
    Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\wamp\www\Site\cadres\page.php on line 10
    Je tente donc d'exécuter un bête "ipconfig" pour tester mon fichier test.bat ...
    Le soucis est donc que le répertoire "sqlloader" se créé, tout comme le fichier "test.bat", mais rien ne s'écrit dedans (il devrait y avoir écrit "ipconfig")...

    Après de longues recherches sur internet, je sais que ce problème vient d'un problème de droits d'écriture (je peux créer un dossier/fichier (donc exécuter), mais pas écrire..).

    Dans l'onglet "sécurité" dans les propriétés de mon disque local C:, j'ai passé tous les utilisateurs à "contrôle total", mais rien ne change, toujours cette erreur...

    J'ai également tenté en PHP ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    chmod('C:\sqlloader\test.bat',0777);
    chmod('C:\sqlloader',0777);
    Mais rien non plus... Merci beaucoup de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    fputs ne fonctionne pas comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mkdir('C:\\sqlloader');
    $handle = fopen('C:\\sqlloader\\test.bat','w+');
    fputs($handle,'ipconfig');
    Les droits ne sont pas censé fonctionner sur les systèmes windows, dans mkdir ils ne sont pas pris en compte par exemple.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 134
    Points : 71
    Points
    71
    Par défaut
    Merci, mais dans ce cas comment écrire ici?...
    Tous les developpeurs qui doivent écrire dans des fichiers ne sont pas tous sur linux quand même

    Je suis en entreprise, et chez moi ça marche. Au début j'ai testé sur un disque distant, mais ça ne fonctionnait pas (car disque en réseau, ce que je peux comprendre).
    Mais là je suis en local, il n'y a aucune raison que ça ne marche pas

    EDIT : même en enlevant les droits "0777" dans mon mkdir, ça ne fonctionne pas non plus... même erreur

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    tu as remarqué que tu n'utilisais pas la fonction de la bonne facon ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 134
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par sabotage Voir le message
    tu as remarqué que tu n'utilisais pas la fonction de la bonne facon ?
    C'est à dire?..

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je t'ai indiqué la correction.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 134
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Je t'ai indiqué la correction.
    Oui j'avais vu ça Mais comme je l'ai dit tout à l'heure dans mon edit, j'obtiens toujours la même erreur...

    Dailleurs j'essaye également de faire un exec('test.bat') voir exec('start test.bat') (test.bat étant dans le même dossier que mon fichier.php), mais ça n'exécute même pas ce fichier..

    Quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $output = exec('test.bat');
    echo $output;
    ça ne m'affiche que le contenu de mon fichier test.bat

    Bref là je ne comprends plus rien.. Merci beaucoup de ton aide en tout cas

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 134
    Points : 71
    Points
    71
    Par défaut
    Oulaaaa je retire ce que j'ai dit! Ca marche ta correction Toute à l'heure ça n'a pas fonctionné, j'ai pas du faire ce qu'il fallait..

    Mais alors celà signifie qu'il faut écrire dans un fichier directement ouvert en même temps? Je croyais que si le fichier était ouvert avant c'était bon

    Ben merci beaucoup en tout cas
    Si jamais tu as une idée pour l'exec... je tente des tas de choses mais toujours le même soucis (et là je ne comprends pas, pourtant il me semble bien l'exécuter)!

    Merci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/04/2010, 14h52
  2. Droit d'écriture pour le groupe
    Par d10g3n dans le forum Sécurité
    Réponses: 4
    Dernier message: 18/04/2008, 14h06
  3. Droit en écriture sur des fichiers
    Par HULK dans le forum VB.NET
    Réponses: 2
    Dernier message: 26/10/2007, 10h09
  4. [serveur ftp] Problème de droit d'écriture pour un utilisateur
    Par Louis-Guillaume Morand dans le forum Administration système
    Réponses: 39
    Dernier message: 02/07/2007, 09h30
  5. [Apache] donner les droits d'écriture pour PHP
    Par Torpedox dans le forum Apache
    Réponses: 4
    Dernier message: 07/01/2006, 15h01

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