Lister un dossier en php

Fermé
kikwikoulouk Messages postés 20 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 janvier 2009 - 26 juin 2007 à 16:17
kikwikoulouk Messages postés 20 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 janvier 2009 - 28 juin 2007 à 16:11
slt a tous :p ,
Je souhaite dans un script php lister le contenu d'un dossier(tout les fichiers) dans une liste deroulante.Et ensuite pouvoir dans cette liste selectionner le fichier et l'ouvrir.
Biensur au dossier je lui donne son chemin et c'est la que mon probleme arrive.

test1.php
<?php
//on créer la liste deroulante
$liste='<select name ="image" onchange="this.form.submit()">
<option value="">Les images</option>'."\n";
$chemin="C:\Documents and Settings\All Users\Documents\Mes images\Échantillons d'images\";
$dir=opendir($chemin);
while($file = reeadir($dir))
{
      if($file !='.' && $file!='..')
      {
           $list .='<option value="'.$file.">'.$file.'</option>'."\n";
       }
}
closedir($dir);
$list.='</select>'."\n";

//on fait notre formulaire
echo'<form action="test2.php" method="GET">
<div>
'.$list.'
</div>
</form>';
?>




Je pense que mon chemin n'est pas bon, que dois je mettre a la place???

test2.php
<?php
$chemin = 'C:\Documents and Settings\All Users\Documents\Mes images\Échantillons d'images\'; 
if(empty($_GET['image']) OR !is_file($chemin.$_GET['image'])){
header('Location: test1.php');
exit();
}
echo '<embed src="'.$chemin.$_GET['image'].'" autostart="false" loop="true" volume="0" height="480" width="360" controls="console" >';
?>



Je n'arrive pas à afficher les fichiers du chemin donné.
J'aurais besoin d'aide svp :)
A voir également:

12 réponses

php s'execute sur le serveur, donc il ne peut pas ouvrir un fichier dans ton micro c:/ .......

de plus un fichier s'ouvre avec un logiciel Word, Excel, apercu des images etc..

Par contre tu peux lister des fichiers dans un dossier sur le serveur.
En lire le contenu ligne par ligne en php

sinon si tu veux parcourir ton micro tu mets un input type="file", mais tu pourras seulement l'envoyer au serveur
0
kikwikoulouk Messages postés 20 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 janvier 2009
26 juin 2007 à 21:59
Que me conseille tu donc de faire alain??
moi j'aurais voulu par exemple que l'utilisateur choisisse son image dans cette liste deroulante et qu'il puisse ensuite la voir.Tout simplement
Comme le systeme des videos, on choisi la video dans la liste et on le lit si on la selectionné, sauf que la c'est des images.
0
Ou est ton image ?

sur un serveur ou sur ton micro.
0
kikwikoulouk Messages postés 20 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 janvier 2009
27 juin 2007 à 15:45
sur mon disque, "mes images", ca ne marche pas si je les prends sur mon disque??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kikwikoulouk Messages postés 20 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 janvier 2009
27 juin 2007 à 15:48
C'est bon Alain j'ai reussi à lister le contenu du dossier sur ma page, maintenant j'aurais voulu avoir la possibilité de selectionner une de ces images et de pouvoir les ouvrir.
Tu sais comment on fait ca Alain??
Merci pour ton aide.
0
Je suppose que tu as réussit à lister les images sur le serveur.

Alors tu cree une page HTML avec une balise image <IMG et en src=" tu mets le chemin complet jusqu'à ton image y compris le nom selectionné par l'utilisateur
0
kikwikoulouk Messages postés 20 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 janvier 2009
27 juin 2007 à 17:01
<?php
$chemin = 'images'; 
if(empty($_POST['image']) OR !is_file($chemin.$_POST['image'])){
 header('Location : test1.php');
 exit();
}
echo '<img src="'.$chemin.$_POST['image'].'" height="480" width="360" ></img>';
?>

Ca ne marche pas, lorsque je selectionne l'image dans la ptite liste il m'envoi dans une page vide.
Ya ptetre un soucis sur ce script, nan??
0
il faut des / dans le chemin, donc:

$chemin."/".$_POST['image']
0
kikwikoulouk Messages postés 20 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 janvier 2009
27 juin 2007 à 22:36
Toujours pas, j'ai pourtant fait comme tu mas di avec le chemin :

test2.php
<?php
$chemin = "Images_Naruto"; 
if(empty($_post['image']) OR !is_file($chemin.$_post['image']))
{
 header('Location : test1.php');
 exit();
}
echo '<img src="'.$chemin."/".$_post['image'].'" height="60" width="40"  ></img>';
?>
0
attention, il faut que ton chemin soit par rapport à la position de ton script php dans l'arborescence.
0
kikwikoulouk Messages postés 20 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 janvier 2009
28 juin 2007 à 10:43
C bon j'ai reussi ^^.Merci pour ton aide Alain.
Il me manque plus kla mise en page de tout ca =).
En parlant dca est il possible de rajouter du css dans du php??histoire de mettre un peu plus de couleur coi.
Ou bien faut il mettre du php dans du html??
Tu n'est pas obligé drepondre javoue que jtai pri la tete ^^.
0
kikwikoulouk Messages postés 20 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 janvier 2009
28 juin 2007 à 16:11
<html>
<head>
<title>image perso</title>
</head>
<body>

<?php

if( $chemin."/".$_POST['image'] == "bedouin_au_crepuscule.jpg")
{
	echo'<h1><center><span class="souligne">Le pti bedouin au crépuscule</h1></center></span><br/>';
}

$chemin = 'images'; 
if(empty($_POST['image']) OR !is_file($chemin."/".$_POST['image']))
{
 header('Location : test1.php');
 exit();
}
echo '<style type="text/css">
	h1
	{
		font-family: "Comic Sans MS", "Trebuchet MS", Georgia, serif;
		text-decoration: blink;
	}
	.souligne
	{
   		text-decoration: underline;
	}
	body
	{
	background-image : url("'.$chemin."/".$_POST['image'].'");
	background-attachment: fixed;	
	text-indent: 30px;
	
	}
	</style>'; 
?>
</body>
</html>	


Et ici mon probleme c'est que je n'arrive pas a afficher tel chose pour chaque image,
je m'explique lol, dsl alain ^^ jvai encore te faire chi....
J'ai fait une ptite liste contenant des fichiers( images), j'aurais envie une fois avoir selectionné l'image afficher l'image biensur(ca c'est fait) et y mettre dessus une phrase.
Mais je ne souhaite pas avoir la même phrase pour toutes les images que j'aurai ouvert, j'ai donc mis une ptite condition mais apparemment ca ne marche pas.


//Si le fichier"bedouin_au_crepuscule.jpg" est le fichier selectionné alors,
  afficher :  Le pti bedouin au crepuscule 
if( $chemin."/".$_POST['image'] == "bedouin_au_crepuscule.jpg")
{
	echo'<h1><center><span class="souligne">Le pti bedouin au crépuscule</h1></center></span><br/>';
}


Mais ca ne marche pas, jveux dire une fois que je selectionne dans ma ptite liste le fichier du pti bedouin ^^ il y a l'image qui s'affiche mais j'ai pas l'inscription dessus.
0