Je sais lister le contenu d'un répertoire distant, c'est à dire qui se
trouve au même endroit que le script php sur le serveur.
Par contre j'essaie de lister un répertoire local... mais en vain !
Je m'explique.
Je met mon script de listage en ligne sur le serveur qui m'héberge.
Ce script appelle la fonction de listage, mais au lieu d'avoir comme nom
de répertoire à lister quelque chose comme "photos" je met "C:/album/photos"
Et j'obtient alors l'erreur suivante :
Warning: opendir(C:/album/photos): failed to open dir: No such file or
directory in liste.php on line 24
Quelques pistes pour avancer : - vérifier que C:/album/photos est effectivement un répertoire - voir si ce ne serait pas c:/album/photos ou C:/ALBUM/PHOTOS - vérifier que le programme PHP a le droit d'y accéder - essayer avec "C:/", "C:/album", "C:/album/" - essayer avec "../../../../../../album/photos" - essayer avec "file:///C:/album/photos/"
Tu nous tiens au courant ?
Je sais lister le contenu d'un répertoire distant, c'est à dire qui se
trouve au même endroit que le script php sur le serveur.
Par contre j'essaie de lister un répertoire local... mais en vain !
[...]
Warning: opendir(C:/album/photos): failed to open dir: No such file or
directory in liste.php on line 24
Quelques pistes pour avancer :
- vérifier que C:/album/photos est effectivement un répertoire
- voir si ce ne serait pas c:/album/photos ou C:/ALBUM/PHOTOS
- vérifier que le programme PHP a le droit d'y accéder
- essayer avec "C:/", "C:/album", "C:/album/"
- essayer avec "../../../../../../album/photos"
- essayer avec "file:///C:/album/photos/"
Quelques pistes pour avancer : - vérifier que C:/album/photos est effectivement un répertoire - voir si ce ne serait pas c:/album/photos ou C:/ALBUM/PHOTOS - vérifier que le programme PHP a le droit d'y accéder - essayer avec "C:/", "C:/album", "C:/album/" - essayer avec "../../../../../../album/photos" - essayer avec "file:///C:/album/photos/"
Tu nous tiens au courant ?
Vincent Lascaux
Par contre j'essaie de lister un répertoire local... mais en vain ! Je m'explique. Je met mon script de listage en ligne sur le serveur qui m'héberge.
Tu vois pas comme un problème de sécurité à pouvoir lire le contenu du disque dur de n'importe quelle personne qui se connecte à ton site ? Donc non, on ne peut pas... (sauf à utiliser des extensions ? avec du java, en demandant le bon niveau de sécurité...)
Pourquoi tu veux faire ca ?
-- Vincent
Par contre j'essaie de lister un répertoire local... mais en vain !
Je m'explique.
Je met mon script de listage en ligne sur le serveur qui m'héberge.
Tu vois pas comme un problème de sécurité à pouvoir lire le contenu du
disque dur de n'importe quelle personne qui se connecte à ton site ? Donc
non, on ne peut pas... (sauf à utiliser des extensions ? avec du java, en
demandant le bon niveau de sécurité...)
Par contre j'essaie de lister un répertoire local... mais en vain ! Je m'explique. Je met mon script de listage en ligne sur le serveur qui m'héberge.
Tu vois pas comme un problème de sécurité à pouvoir lire le contenu du disque dur de n'importe quelle personne qui se connecte à ton site ? Donc non, on ne peut pas... (sauf à utiliser des extensions ? avec du java, en demandant le bon niveau de sécurité...)
Pourquoi tu veux faire ca ?
-- Vincent
Antoine Polatouche
Quelques pistes pour avancer : - vérifier que C:/album/photos est effectivement un répertoire - voir si ce ne serait pas c:/album/photos ou C:/ALBUM/PHOTOS - vérifier que le programme PHP a le droit d'y accéder - essayer avec "C:/", "C:/album", "C:/album/" - essayer avec "../../../../../../album/photos" - essayer avec "file:///C:/album/photos/"
et avec anti slash? c:albumphotos
Quelques pistes pour avancer :
- vérifier que C:/album/photos est effectivement un répertoire
- voir si ce ne serait pas c:/album/photos ou C:/ALBUM/PHOTOS
- vérifier que le programme PHP a le droit d'y accéder
- essayer avec "C:/", "C:/album", "C:/album/"
- essayer avec "../../../../../../album/photos"
- essayer avec "file:///C:/album/photos/"
Quelques pistes pour avancer : - vérifier que C:/album/photos est effectivement un répertoire - voir si ce ne serait pas c:/album/photos ou C:/ALBUM/PHOTOS - vérifier que le programme PHP a le droit d'y accéder - essayer avec "C:/", "C:/album", "C:/album/" - essayer avec "../../../../../../album/photos" - essayer avec "file:///C:/album/photos/"
et avec anti slash? c:albumphotos
Legeais Vincent
Quelques pistes pour avancer : - vérifier que C:/album/photos est effectivement un répertoire
oui
- voir si ce ne serait pas c:/album/photos ou C:/ALBUM/PHOTOS
ok
- vérifier que le programme PHP a le droit d'y accéder
le php tourne chez mon hébergeur et C:/ est sur mon ordi perso sous windows 98 SE Donc a priori pas de problème d'accès...
- essayer avec "C:/", "C:/album", "C:/album/"
Même C:/ ne marche pas :(
- essayer avec "../../../../../../album/photos"
...
- essayer avec "file:///C:/album/photos/"
pas mieux...
Tu nous tiens au courant ?
2 choses à rajouter :
1) Quand je fait tourner mon script sur mon ordi avec easyphp, ça marche bien (je peux lister C:/ ou n'importe qui d'autre). Mais dès que je met mon script en ligne chez mon hébergeur, ça plante !
2) J'ai essayé de réduire au minimum. Voici un script hyper simple :
<? $rep="C:/"; opendir($rep); ?>
Et on obtient :
Warning: opendir(C:/): failed to open dir: No such file or directory in test.php on line 3
Déjà si quelqu'un arrivait à modifier ces 2 lignes pour qu'elles fonctionnent, je crois que ça résoudrait le problème...
-- Vincent
Quelques pistes pour avancer :
- vérifier que C:/album/photos est effectivement un répertoire
oui
- voir si ce ne serait pas c:/album/photos ou C:/ALBUM/PHOTOS
ok
- vérifier que le programme PHP a le droit d'y accéder
le php tourne chez mon hébergeur et C:/ est sur mon ordi perso sous
windows 98 SE
Donc a priori pas de problème d'accès...
- essayer avec "C:/", "C:/album", "C:/album/"
Même C:/ ne marche pas :(
- essayer avec "../../../../../../album/photos"
...
- essayer avec "file:///C:/album/photos/"
pas mieux...
Tu nous tiens au courant ?
2 choses à rajouter :
1) Quand je fait tourner mon script sur mon ordi avec easyphp, ça marche
bien (je peux lister C:/ ou n'importe qui d'autre).
Mais dès que je met mon script en ligne chez mon hébergeur, ça plante !
2) J'ai essayé de réduire au minimum.
Voici un script hyper simple :
<?
$rep="C:/";
opendir($rep);
?>
Et on obtient :
Warning: opendir(C:/): failed to open dir: No such file or directory in
test.php on line 3
Déjà si quelqu'un arrivait à modifier ces 2 lignes pour qu'elles
fonctionnent, je crois que ça résoudrait le problème...
Quelques pistes pour avancer : - vérifier que C:/album/photos est effectivement un répertoire
oui
- voir si ce ne serait pas c:/album/photos ou C:/ALBUM/PHOTOS
ok
- vérifier que le programme PHP a le droit d'y accéder
le php tourne chez mon hébergeur et C:/ est sur mon ordi perso sous windows 98 SE Donc a priori pas de problème d'accès...
- essayer avec "C:/", "C:/album", "C:/album/"
Même C:/ ne marche pas :(
- essayer avec "../../../../../../album/photos"
...
- essayer avec "file:///C:/album/photos/"
pas mieux...
Tu nous tiens au courant ?
2 choses à rajouter :
1) Quand je fait tourner mon script sur mon ordi avec easyphp, ça marche bien (je peux lister C:/ ou n'importe qui d'autre). Mais dès que je met mon script en ligne chez mon hébergeur, ça plante !
2) J'ai essayé de réduire au minimum. Voici un script hyper simple :
<? $rep="C:/"; opendir($rep); ?>
Et on obtient :
Warning: opendir(C:/): failed to open dir: No such file or directory in test.php on line 3
Déjà si quelqu'un arrivait à modifier ces 2 lignes pour qu'elles fonctionnent, je crois que ça résoudrait le problème...
-- Vincent
Pozzo
Legeais Vincent wrote:
Par contre j'essaie de lister un répertoire local... mais en vain ! Je m'explique. Je met mon script de listage en ligne sur le serveur qui m'héberge. Ce script appelle la fonction de listage, mais au lieu d'avoir comme nom de répertoire à lister quelque chose comme "photos" je met "C:/album/photos" Et j'obtient alors l'erreur suivante :
Euh... si je comprends bien :
Vous avez un serveur A avec un serveur Web et PHP dessus...
Vous avez un ordinateur B avec un navigateur (IE ou Firefox ou autre)
Vous arrivez à afficher sur B dans votre navigateur une page fournie par A qui liste le contenu d'un répertoire sur A
Vous n'arrivez PAS à afficher sur B dans votre navigateur une page fournie par A qui listerait le contenu d'un répertoire sur B
...
Si c'est ça je trouve que c'est parfaitement normal...
Le serveur web en php est incapable d'accéder "par magie" à votre poste client. A la rigueur on pourrait imaginer que cela fonctionne si vous autorisez un partage windows sur votre disque C de votre machine client (B) et que le serveur (A) y accède via Samba... mais ça me semble plutôt dangereux en dehors d'un contexte intranet...
Pour faire ce que vous voulez, il faudrait plutot envisager :
1/ Une applet Java 2/ Du javascript signé (du javascript normal n'aura probablement pas le droit de faire ça ?) 3/ Installer un 2e serveur web sur votre poste client local (B) et faire dialoguer en HTTP A et B 4/ Oublier cette idée ;-)
-- Pozzo
Legeais Vincent wrote:
Par contre j'essaie de lister un répertoire local... mais en vain !
Je m'explique.
Je met mon script de listage en ligne sur le serveur qui m'héberge.
Ce script appelle la fonction de listage, mais au lieu d'avoir comme nom
de répertoire à lister quelque chose comme "photos" je met
"C:/album/photos"
Et j'obtient alors l'erreur suivante :
Euh... si je comprends bien :
Vous avez un serveur A avec un serveur Web et PHP dessus...
Vous avez un ordinateur B avec un navigateur (IE ou Firefox ou autre)
Vous arrivez à afficher sur B dans votre navigateur une page fournie par
A qui liste le contenu d'un répertoire sur A
Vous n'arrivez PAS à afficher sur B dans votre navigateur une page
fournie par A qui listerait le contenu d'un répertoire sur B
...
Si c'est ça je trouve que c'est parfaitement normal...
Le serveur web en php est incapable d'accéder "par magie" à votre poste
client. A la rigueur on pourrait imaginer que cela fonctionne si vous
autorisez un partage windows sur votre disque C de votre machine client
(B) et que le serveur (A) y accède via Samba... mais ça me semble plutôt
dangereux en dehors d'un contexte intranet...
Pour faire ce que vous voulez, il faudrait plutot envisager :
1/ Une applet Java
2/ Du javascript signé (du javascript normal n'aura probablement pas le
droit de faire ça ?)
3/ Installer un 2e serveur web sur votre poste client local (B) et faire
dialoguer en HTTP A et B
4/ Oublier cette idée ;-)
Par contre j'essaie de lister un répertoire local... mais en vain ! Je m'explique. Je met mon script de listage en ligne sur le serveur qui m'héberge. Ce script appelle la fonction de listage, mais au lieu d'avoir comme nom de répertoire à lister quelque chose comme "photos" je met "C:/album/photos" Et j'obtient alors l'erreur suivante :
Euh... si je comprends bien :
Vous avez un serveur A avec un serveur Web et PHP dessus...
Vous avez un ordinateur B avec un navigateur (IE ou Firefox ou autre)
Vous arrivez à afficher sur B dans votre navigateur une page fournie par A qui liste le contenu d'un répertoire sur A
Vous n'arrivez PAS à afficher sur B dans votre navigateur une page fournie par A qui listerait le contenu d'un répertoire sur B
...
Si c'est ça je trouve que c'est parfaitement normal...
Le serveur web en php est incapable d'accéder "par magie" à votre poste client. A la rigueur on pourrait imaginer que cela fonctionne si vous autorisez un partage windows sur votre disque C de votre machine client (B) et que le serveur (A) y accède via Samba... mais ça me semble plutôt dangereux en dehors d'un contexte intranet...
Pour faire ce que vous voulez, il faudrait plutot envisager :
1/ Une applet Java 2/ Du javascript signé (du javascript normal n'aura probablement pas le droit de faire ça ?) 3/ Installer un 2e serveur web sur votre poste client local (B) et faire dialoguer en HTTP A et B 4/ Oublier cette idée ;-)
-- Pozzo
Pozzo
Legeais Vincent wrote:
- vérifier que le programme PHP a le droit d'y accéder
le php tourne chez mon hébergeur et C:/ est sur mon ordi perso sous windows 98 SE Donc a priori pas de problème d'accès...
Si au contraire ! Un serveur web ne peut pas accéder "comme ça" au contenu d'un disque d'un autre ordinateur... Cf mon autre réponse complête.
-- Pozzo
Legeais Vincent wrote:
- vérifier que le programme PHP a le droit d'y accéder
le php tourne chez mon hébergeur et C:/ est sur mon ordi perso sous
windows 98 SE
Donc a priori pas de problème d'accès...
Si au contraire ! Un serveur web ne peut pas accéder "comme ça" au
contenu d'un disque d'un autre ordinateur... Cf mon autre réponse complête.
- vérifier que le programme PHP a le droit d'y accéder
le php tourne chez mon hébergeur et C:/ est sur mon ordi perso sous windows 98 SE Donc a priori pas de problème d'accès...
Si au contraire ! Un serveur web ne peut pas accéder "comme ça" au contenu d'un disque d'un autre ordinateur... Cf mon autre réponse complête.
-- Pozzo
Olivier Miakinen
- vérifier que le programme PHP a le droit d'y accéder
le php tourne chez mon hébergeur et C:/ est sur mon ordi perso sous windows 98 SE
Ah, il fallait le dire tout de suite, que le « C: » en question n'est pas local au serveur, mais distant, sur le poste du visiteur !
Tu n'as probablement pas compris la différence entre un langage comme PHP qui tourne sur le serveur, et un autre comme JavaScript qui tourne sur le poste client : <http://faqfclphp.free.fr/#rub2.3>.
Ça n'a donc aucune chance de marcher avec PHP (avec JavaScript tout seul non plus, mais pour d'autres raisons).
Donc a priori pas de problème d'accès...
Bien au contraire, *aucun* accès n'est possible.
- vérifier que le programme PHP a le droit d'y accéder
le php tourne chez mon hébergeur et C:/ est sur mon ordi perso sous
windows 98 SE
Ah, il fallait le dire tout de suite, que le « C: » en question n'est
pas local au serveur, mais distant, sur le poste du visiteur !
Tu n'as probablement pas compris la différence entre un langage comme
PHP qui tourne sur le serveur, et un autre comme JavaScript qui tourne
sur le poste client : <http://faqfclphp.free.fr/#rub2.3>.
Ça n'a donc aucune chance de marcher avec PHP (avec JavaScript tout seul
non plus, mais pour d'autres raisons).
- vérifier que le programme PHP a le droit d'y accéder
le php tourne chez mon hébergeur et C:/ est sur mon ordi perso sous windows 98 SE
Ah, il fallait le dire tout de suite, que le « C: » en question n'est pas local au serveur, mais distant, sur le poste du visiteur !
Tu n'as probablement pas compris la différence entre un langage comme PHP qui tourne sur le serveur, et un autre comme JavaScript qui tourne sur le poste client : <http://faqfclphp.free.fr/#rub2.3>.
Ça n'a donc aucune chance de marcher avec PHP (avec JavaScript tout seul non plus, mais pour d'autres raisons).
Donc a priori pas de problème d'accès...
Bien au contraire, *aucun* accès n'est possible.
venerzen
Legeais Vincent a formulé ce mercredi :
[Xpost afclp & fclp ; fu2 fclp]
Bonjour,
Je sais lister le contenu d'un répertoire distant, c'est à dire qui se trouve au même endroit que le script php sur le serveur.
Par contre j'essaie de lister un répertoire local... mais en vain ! Je m'explique. Je met mon script de listage en ligne sur le serveur qui m'héberge. Ce script appelle la fonction de listage, mais au lieu d'avoir comme nom de répertoire à lister quelque chose comme "photos" je met "C:/album/photos" Et j'obtient alors l'erreur suivante :
Warning: opendir(C:/album/photos): failed to open dir: No such file or directory in liste.php on line 24
Ben ton répertoire ne se trouve pas sur c: Regarde au niveau des variables serveur ($_SERVER). Tu y trouveras normalement le chemin complet vers tes scripts.
Legeais Vincent a formulé ce mercredi :
[Xpost afclp & fclp ; fu2 fclp]
Bonjour,
Je sais lister le contenu d'un répertoire distant, c'est à dire qui se trouve
au même endroit que le script php sur le serveur.
Par contre j'essaie de lister un répertoire local... mais en vain !
Je m'explique.
Je met mon script de listage en ligne sur le serveur qui m'héberge.
Ce script appelle la fonction de listage, mais au lieu d'avoir comme nom de
répertoire à lister quelque chose comme "photos" je met "C:/album/photos"
Et j'obtient alors l'erreur suivante :
Warning: opendir(C:/album/photos): failed to open dir: No such file or
directory in liste.php on line 24
Ben ton répertoire ne se trouve pas sur c:
Regarde au niveau des variables serveur ($_SERVER). Tu y trouveras
normalement le chemin complet vers tes scripts.
Je sais lister le contenu d'un répertoire distant, c'est à dire qui se trouve au même endroit que le script php sur le serveur.
Par contre j'essaie de lister un répertoire local... mais en vain ! Je m'explique. Je met mon script de listage en ligne sur le serveur qui m'héberge. Ce script appelle la fonction de listage, mais au lieu d'avoir comme nom de répertoire à lister quelque chose comme "photos" je met "C:/album/photos" Et j'obtient alors l'erreur suivante :
Warning: opendir(C:/album/photos): failed to open dir: No such file or directory in liste.php on line 24
Ben ton répertoire ne se trouve pas sur c: Regarde au niveau des variables serveur ($_SERVER). Tu y trouveras normalement le chemin complet vers tes scripts.
O.L.
[Xpost afclp & fclp ; fu2 fclp]
Bonjour,
Je sais lister le contenu d'un répertoire distant, c'est à dire qui se trouve au même endroit que le script php sur le serveur.
Par contre j'essaie de lister un répertoire local... mais en vain ! Je m'explique. Je met mon script de listage en ligne sur le serveur qui m'héberge. Ce script appelle la fonction de listage, mais au lieu d'avoir comme nom de répertoire à lister quelque chose comme "photos" je met "C:/album/photos" Et j'obtient alors l'erreur suivante :
Warning: opendir(C:/album/photos): failed to open dir: No such file or directory in liste.php on line 24
Logiqe ! PHP s'exécute côté serveur, il ne peut absolument pas savoir ce qui se trouve sur le PC du client ...
Pour faire ça, il faudrait passer par l'objet ActiveX nommé FileSystemObject (pour IE seulement). Google est ton ami ... Mais cette solution posera problème chez ceux qui ont un navigateur paramétré en mode "parano" : il ne posera même pas la question à l'utilisateur de savoir s'il accepte ou non que ton JavaScript aille fouiller sur le disque dur, il bloquera tout net.
@+
-- Olivier Ligny Créateur web free-lance / www.cyber-tamtam.net
[Xpost afclp & fclp ; fu2 fclp]
Bonjour,
Je sais lister le contenu d'un répertoire distant, c'est à dire qui se trouve
au même endroit que le script php sur le serveur.
Par contre j'essaie de lister un répertoire local... mais en vain !
Je m'explique.
Je met mon script de listage en ligne sur le serveur qui m'héberge.
Ce script appelle la fonction de listage, mais au lieu d'avoir comme nom de
répertoire à lister quelque chose comme "photos" je met "C:/album/photos"
Et j'obtient alors l'erreur suivante :
Warning: opendir(C:/album/photos): failed to open dir: No such file or
directory in liste.php on line 24
Logiqe ! PHP s'exécute côté serveur, il ne peut absolument pas savoir
ce qui se trouve sur le PC du client ...
Pour faire ça, il faudrait passer par l'objet ActiveX nommé
FileSystemObject (pour IE seulement). Google est ton ami ...
Mais cette solution posera problème chez ceux qui ont un navigateur
paramétré en mode "parano" : il ne posera même pas la question à
l'utilisateur de savoir s'il accepte ou non que ton JavaScript aille
fouiller sur le disque dur, il bloquera tout net.
@+
--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net
Je sais lister le contenu d'un répertoire distant, c'est à dire qui se trouve au même endroit que le script php sur le serveur.
Par contre j'essaie de lister un répertoire local... mais en vain ! Je m'explique. Je met mon script de listage en ligne sur le serveur qui m'héberge. Ce script appelle la fonction de listage, mais au lieu d'avoir comme nom de répertoire à lister quelque chose comme "photos" je met "C:/album/photos" Et j'obtient alors l'erreur suivante :
Warning: opendir(C:/album/photos): failed to open dir: No such file or directory in liste.php on line 24
Logiqe ! PHP s'exécute côté serveur, il ne peut absolument pas savoir ce qui se trouve sur le PC du client ...
Pour faire ça, il faudrait passer par l'objet ActiveX nommé FileSystemObject (pour IE seulement). Google est ton ami ... Mais cette solution posera problème chez ceux qui ont un navigateur paramétré en mode "parano" : il ne posera même pas la question à l'utilisateur de savoir s'il accepte ou non que ton JavaScript aille fouiller sur le disque dur, il bloquera tout net.
@+
-- Olivier Ligny Créateur web free-lance / www.cyber-tamtam.net
Legeais Vincent
Pourquoi tu veux faire ca ?
Mon script, à partir du nom d'un répertoire contenant des photos d'identité, crée un trombinoscope. Quand je fait tourner mon script sur mon ordi (avec easyphp) je réussis à me faire de très beaux trombinoscopes en moins de 2.
Mon but est de mettre mon script à disposition des gens sur mon site pour qu'ils puissent créer leur propre trombinoscope en ayant juste sur leur ordi un répertoire avec des photos (et qu'ils n'aient pas à installer un serveur apache chez eux !)
Concrètement : quelqu'un vient sur mon site, rentre le chemin local à son ordi vers son répertoire de photos (exemple : C:/2006/photos) et ça lui crée son trombinoscope !
Y a-t-il un moyen autre pour pouvoir faire cela ? Merci.
-- Vincent
Pourquoi tu veux faire ca ?
Mon script, à partir du nom d'un répertoire contenant des photos
d'identité, crée un trombinoscope.
Quand je fait tourner mon script sur mon ordi (avec easyphp) je réussis
à me faire de très beaux trombinoscopes en moins de 2.
Mon but est de mettre mon script à disposition des gens sur mon site
pour qu'ils puissent créer leur propre trombinoscope en ayant juste sur
leur ordi un répertoire avec des photos (et qu'ils n'aient pas à
installer un serveur apache chez eux !)
Concrètement : quelqu'un vient sur mon site, rentre le chemin local à
son ordi vers son répertoire de photos (exemple : C:/2006/photos) et ça
lui crée son trombinoscope !
Y a-t-il un moyen autre pour pouvoir faire cela ?
Merci.
Mon script, à partir du nom d'un répertoire contenant des photos d'identité, crée un trombinoscope. Quand je fait tourner mon script sur mon ordi (avec easyphp) je réussis à me faire de très beaux trombinoscopes en moins de 2.
Mon but est de mettre mon script à disposition des gens sur mon site pour qu'ils puissent créer leur propre trombinoscope en ayant juste sur leur ordi un répertoire avec des photos (et qu'ils n'aient pas à installer un serveur apache chez eux !)
Concrètement : quelqu'un vient sur mon site, rentre le chemin local à son ordi vers son répertoire de photos (exemple : C:/2006/photos) et ça lui crée son trombinoscope !
Y a-t-il un moyen autre pour pouvoir faire cela ? Merci.