[CLASS.PLX.UTILS]Droits des fichiers méthode write

Bonjour,

Je rencontre un problème avec un de mes plugins (adhesions), qui écrit des informations dans un fichier situé dans le dossier data/configuration (plugin.adhesion.adherents.xml) pour la version 5.1.6.
Je sais qu'on est à la 5.1.7 mais les méthodes sont les mêmes.


Lorsque le fichier est enregistré, les droits sont mis à 0644, ce qui empêche toute possibilité d'écriture par la suite. Quelle est la meilleure façon de procéder si l'on veut modifier ce fichier en ligne : modifier la méthode ou mettre un chmod à 0777 après avoir écrit dans le fichier ?


Ou existe une autre méthode que j'aurais raté pour modifier un fichier existant ?


Merci pour votre aide.

Réponses

  • Lors de la création de ce fichier (pendant l'installation du plugin ?) tu peux faire un mkdir('TonFichier',0777);
  • Jerry WhamJerry Wham Member
    mars 2013 modifié
    Non, c'est un fichier qui est modifié à chaque inscription. J'ai mis un chmod($fichier,0777) après l'écriture. Mais je me demandais s'il n'y avait pas une fonction native.


    Ce qui est bizarre, c'est que les droits ne sautent pas à chaque fois, du moins certaines écritures se font tandis que d'autres non...

    En regardant de plus près la fonction, je ne comprends pas que ça n'écrive pas. Car si j'ai bien compris, la fonction crée un fichier temporaire qui écrase l'ancien puis lui remet les droits en 0644. Comprends pas ???
  • Normalement un chmod à 644 suffit, tu peux tenter un 664 mais pas plus pour un fichier.

    J'ai un string de l'array

  • StéphaneStéphane Member, Former PluXml Project Manager
    meme réponse que sur un autre post:

    tout bon serveur bien paramétré devrait gérer des droits 0644 sur des fichiers pour du web. si tu es obligé de mettre 0777 c'est accorder trop de droits et c'est du aux restrictions de ton hébergeur (qui sur le coup à moins de restrictions en donnant des droits 0777 au lieu de 0644)

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • StéphaneStéphane Member, Former PluXml Project Manager
    ps: si tu utilises la fonction plxUtils::write, il y a dans cette fonction un chmod(0644) sur le fichier qui vient d'etre écrit

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Stéphane a écrit:
    ps: si tu utilises la fonction plxUtils::write, il y a dans cette fonction un chmod(0644) sur le fichier qui vient d'etre écrit
    Oui, je sais. Ce que je ne comprends pas, c'est que les modifications du fichiers ne sont pas toutes prises en compte ???
  • Un problème d'espace disque ?
    Ou alors une chaine de texte qui plait pas du tout à la fonction write.

    J'ai un string de l'array

Connectez-vous ou Inscrivez-vous pour répondre.