method scandir() problème d'autorisation

Par Gauvain Robert, il y a 10 ans


Outils Linux

Salut tout le monde et merci de me lire,

Voilà mon problème, j'ai un script UploadHandler.php localisé dans /var/www/html/server/php et mes fichiers sont stockés dans /var/www/html/uploads/ . '$repertoireutilisateur' puis il y aussi d'autres repertoires créés par l'utilisateur au sein de ce même répertoire. Cependant scandir ne fait pas sont travail et ne me retourne pas les fichiers présents dans un chemin de l'upload

je tourne sur debian 8 php5

aidez moi svp je me tape la tête contre le mur depuis 24h là dessus :'(

5 réponses

tleb, il y a 10 ans
var_dump(scandir('/var/www/html/uploads'));

Quel est le retour exact de scandir ?

Gauvain Robert, il y a 10 ans

Le retour exact est le suivant:
array(3) { [0]=> string(1) "." [1]=> string(2) ".." [2]=> string(40) "22009f795ff4d16dd3c84689e08b4674d7786b7f" }

tleb, il y a 10 ans
chmod 777 /var/www/html/uploads

777 n'est pas l'idéal, mais c'est le plus simple pour voir si ce n'est pas un problème d'autorisation.

Gauvain Robert, il y a 10 ans

Merci Forever de répondre à mon problème,
cependant j'execute 'sudo -i chmod 777 /var/www/html/uploads' ('chmod 777 /var/www/html/uploads'=> renvoie 'Operation not permitted') et celà ne répond pas à mon problème : scanner un répertoire, je rappelle que celà fonctionne très bien en local

tleb, il y a 10 ans

Le dossier contient bien le dossier/fichier 22009f795ff4d16dd3c84689e08b4674d7786b7f ? Alors tout est normal.

// pour enlever '.' et '..' qui sont listé sur les systèmes Linux $dir = '/var/www/html/uploads'; $dir_content = array_values( array_diff( scandir($dir), array('.', '..') ) );