Opendir, linux et partition monté

Invité
Invité n'ayant pas de compte PHPfrance

02 août 2012, 09:14

Bonjour à tous,

Je viens vers vous, car je suis confronté à un problème assez em**dant...

Je souhaiterait faire une appli qui listerait mes vidéos sur un répertoire de mon ordi, et qui permettrait de les consulter par le biais d'une page web en local.

Pour cela je souhaite faire un opendir sur un de mes dossiers, lister son contenu et puis l'afficher.

Malheureusement pour moi, le dossier en question est sur un dossier monté (Fedora 17). Or une fois mon disque monté, la fonction is_dir() me dit bien que mon répertoire est un dossier, mais en revanche un opendir() de ce même dossier me retourne inlassablement un bool(false).

Est-ce que quelqu'un pourrait m'éclairer ???

Merci d'avance...

Eléphant du PHP | 53 Messages

02 août 2012, 10:53

Bonjour,

Question idiote : ton script à t'il les droits ?

Cordialement.
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison.

Invité
Invité n'ayant pas de compte PHPfrance

02 août 2012, 11:14

Par défaut j'ai mis tous les droits d'accès (rwx) pour tous les users sur le-dit dossier pour être sur. Donc normalement il devrait pas y avoir de soucis ???

Par exemple quand mon fichier est monté : /run/media/moi/Perso (ou Perso est mon second disque)

un is_dir("/run/media/moi") => true
un is_dir("/run/media/moi/Perso") => true

mais un opendir("/run/media/moi/Perso") => bool(false)

En fouillant le web, j'ai pu voir plusieurs choses : tout d'abord qu'il faut doubler les slashes, qu'il faut configurer le php.ini avec le safe_mode en l'occurence, et bien d'autres ...

Est-ce que quelqu'un à déjà eu un besoin qui soit similaire au mien ?

Merci

Invité
Invité n'ayant pas de compte PHPfrance

02 août 2012, 20:41

J'apporte quelques précisions à nouveau :

Voici mon code PHP :
<?php

$dir="/run/media/whirpett/video1";
var_dump(is_dir($dir));
var_dump(opendir($dir));

?>
et le résultat :

Code : Tout sélectionner

bool(true) Warning: opendir(/run/media/whirpett/video1): failed to open dir: Permission denied in /var/www/html/test_opendir/index.php on line 5 bool(false)
Pourtant quand je fais un ls -al :

[root@whirpett-fedora whirpett]# ls -al

total 20
drwxrwxrwx+ 5 whirpett root 100 Aug 2 20:28 .
drwxrwxrwx. 3 whirpett root 60 Aug 2 19:12 ..
drwx------. 2 whirpett whirpett 16384 Jan 1 1970 6863-3F44
drwxrwxrwx. 2 whirpett root 40 Aug 2 19:51 video
drwxrwxrwx. 3 whirpett root 4096 Aug 2 01:17 video1

Mammouth du PHP | 2278 Messages

06 août 2012, 08:04

Bonjour,
Ce ne serait pas Apache qui aurait besoin d'avoir le droit de lecture dans ce quartier-là, par hasard ?
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

ViPHP
ViPHP | 2577 Messages

06 août 2012, 14:36

Bonjour,

Je me demande s'il ne faut pas avoir les droits de lecture sur :
/
/run
/run/media
/run/media/whirpett
/run/media/whirpett/video1 (ok d'après ton ls)

Il est possible que ca coince au niveau de /run/media/whirpett.

Tu peux essayer l'opendir sur les répertoire dans l'ordre pour voir si tu peux descendre l'arborescence.