62 votes

Comment puis-je vérifier si un répertoire est accessible en écriture en PHP?

Personne ne sait comment je peut vérifier si un répertoire est accessible en écriture en PHP?

La fonction is_writable ne fonctionne pas pour les dossiers.

98voto

DGM Points 14007

Oui, il ne fonctionne pas pour les dossiers....

Retourne TRUE si le fichier existe et est accessible en écriture. L'argument filename peut être un nom de répertoire vous permettant de vérifier si un répertoire est accessible en écriture.

25voto

Irfan EVRENS Points 90

c'est le code :)

<?php 

$new_file_name = '/var/www/your/file.txt';

if (!is_writable(dirname($new_file_name))) {

    echo dirname($new_file_name) . ' must writable!!!';
} else {

    // blah blah blah
}

6voto

Griffith Points 41

pour être plus précis pour le propriétaire/groupe/monde

$dir_writable = substr(sprintf('%o', fileperms($folder)), -4) == "0774" ? "true" : "false";

la paix...

4voto

Quentin Points 325526

Selon la documentation de is_writable, il devrait fonctionner - mais vous avez dit "dossier", ce qui pourrait être un Windows question. Les commentaires suggèrent une solution de contournement.

(Un précipité de lecture plus tôt m'a fait penser que les barres obliques sont importants, mais qui s'est avéré être spécifiques à ce travail autour).

2voto

Jason Mock Points 504

stat()

Un peu comme un système de stat, mais en PHP. Ce que vous voulez faire est de vérifier les valeur de mode, un peu comme vous le feriez de toute autre appel à stat dans d'autres langues (I. E. C/C++).

http://us2.php.net/stat

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X