web-dev-qa-db-fra.com

Comment éditer / modifier un fichier sur un serveur web en utilisant un fichier php au même endroit?

J'ai un fichier XML sur mon serveur. Dans le même répertoire, j'ai un fichier PHP qui modifie le contenu du XML et le sauvegarde. En cela, la partie sauvegarde ne fonctionne pas. À ma connaissance, le code est correct et le problème réside dans les restrictions d'accès aux fichiers.

Plus de détails disponibles ici: https://stackoverflow.com/questions/3351652/how-to-save-an-xml-file-on-the-web-server-using-php (Il y a rien de mal avec le code. Je l'ai fourni pour donner plus d'informations. Le problème semble être avec les permissions d'accès)

Les autorisations du fichier XML sont les suivantes: rw-r - r-- (644)

Ma question est, est-ce que je le fais bien? Comment modifier un fichier dans le même répertoire?

4
San

La réponse changera en fonction de qui est propriétaire des droits sur ce fichier. Par exemple, lorsque je crée un fichier sur notre serveur avec notre client FTP (filezilla), le propriétaire est le nom d'utilisateur de notre compte FTP, mais si nous créons le fichier en utilisant PHP, le propriétaire est www-data.

Cela étant dit en regardant vos droits, je vois que seul le propriétaire a le droit d'écrire sur votre fichier, le groupe et les autres n'ont qu'un accès en lecture. Voici une calculatrice que je vais souvent utiliser pour déterminer les droits à donner à la commande chmod (http://www.onlineconversion.com/html_chmod_calculator.htm). C'est assez intuitif mais je suppose que vous devrez donner un accès en écriture au groupe.

J'espère que cela pourra aider :)

0
Gazillion

Peut-être suis-je en train de négliger quelque chose, mais il semble que vous n'ayez accordé un accès en écriture qu'au propriétaire, ce qui a déjà été établi comme étant probablement autre chose que l'utilisateur de votre serveur Web/PHP, et donc sans autorisation d'écriture.

Vous pouvez soit vous assurer que votre utilisateur est dans le groupe "www-data" (ou le groupe que votre serveur Web utilise) et ajouter une autorisation en écriture au groupe "chmod g + w nomfichier.xml".

Ou, vous pouvez placer ce fichier dans le groupe "www-data" avec "chown www-data: www-data filename.xml"

0
dmsnell