Problème fonction opendir

Absot Messages postés 819 Statut Membre -  
 OulaaLaNoisette -
Slt, j'ai un problème avec ma fonction readdir, j'ai un message d'erreur.. :/

Mon code :
[url=http://www.zimagez.com/zimage/16bb9cc2becaa70a888cc22ecedc52999.php][img]http://www.zimagez.com/miniature/16bb9cc2becaa70a888cc22ecedc52999.png[/img][/url]

Et voilà mon message d'erreur:
[url=http://www.zimagez.com/zimage/2e99fee2398c0e33584fbb9ae3cbc5472.php][img]http://www.zimagez.com/miniature/2e99fee2398c0e33584fbb9ae3cbc5472.png[/img][/url]

Je pense que j'ai bien utiliser ma fonction?

Fonction opendir: http://www.manuelphp.com/php/function.opendir.php

Comme j'ai une erreur avec ma fonction opendir, c'est normal que j'en ai une à ma fonction readdir?

J'ai fais un echo $repertoire et il m'indique le bon fichier, à savoir le fichier images qui est dans le même répertoire que là où est ma page .php

Voilà le répertoire ou sont mes pages et mon répertoire image, ma pahe que j'ai screené est "affiche.php"

[url=http://www.zimagez.com/zimage/1fbc4783c4c7a2a0c3c645ea572afb596.php][img]http://www.zimagez.com/miniature/1fbc4783c4c7a2a0c3c645ea572afb596.png[/img][/url]
A voir également:

7 réponses

OulaaLaNoisette
 
bouh !!

while (($file = readdir($curseur)) !== false) plutôt que while ($curseur != FALSE)

Ça serait déjà mieux je pense (:>).
0
OulaaLaNoisette
 
Re,

A tu pu générer ton tableau en première page de ton TP ?.
0
Absot Messages postés 819 Statut Membre 44
 
Oui mon tableau en première page a été généré

J'ai copier/coller ton " while (($file = readdir($curseur)) !== false) " et ça m'a mis une 3 ème erreur..

http://www.zimagez.com/zimage/143ce3894cbe623b9dea667ef4f18698f.php][img]http://www.zimagez.com/miniature/143ce3894cbe623b9dea667ef4f18698f.png

ligne 14 = $curseur=opendir($repertoire);
ligne 15 = $file=readdir($curseur);
ligne 33 = while (($file = readdir($curseur)) !== false){

Je mets mon code ça ira plus vite en sahcant que $repertoire est egal au nom du répertoire soit "images"

<?php

$repertoire=$_POST['rep'];
$image=$_POST['image'];
$largeur=$_POST['largeur'];
$hauteur=$_POST['hauteur'];
$curseur=opendir($repertoire);
$file=readdir($curseur);
$nbp=0;

function getExtension($image){
$trunc = split('[.]', $image);
if(sizeof($trunc)>1){
return $trunc[sizeof($trunc)-1];
}else {
return strtolower(substr($image,-3));
}
}

echo "<TABLE BORDER='1'>";

while (($file = readdir($curseur)) !== false){
$tableau=array($file);

for ($i=0; $i < sizeof($tableau); $i++){

if ( (getExtension($file)=="jpg") or (getExtension($file)=="png") or (getExtension($file)=="gif") ){
$nbp=$nbp+1;

echo ("<tr>");
echo ("<TD>" . "<IMG SRC=".$tableau[$i]." WIDTH=".$largeur." HEIGHT=".$hauteur.">"."</TD>");
}
if ($nbp==$image){
echo "</TR><TR>";
}
}
}
echo "</TR>";
echo "</TABLE>";
0
OulaaLaNoisette
 
Re,

1-
Déjà il faut virer le $file=readdir($curseur); en ligne 15 car le WHILE le fait itérativement.

2-
Peut tu mettre le message d'erreur entier stp sur les documents fournis ?

3-
Est tu sur de BIEN ouvrir un répertoire qui existe ??... affiche le avant de faire ton opendir et regarde si tu t'est pas trompé sur le nom - ça peut tenir à rien en fait - un oubli d'une lettre dans ton Path...donc donne un exemple de répértoire saisi et afiiché pour voir si sa structure est correcte.

4-
Normal que ça plante au readdir après que tu n'a pas pu déjà ouvrir ton répertoire.
0
OulaaLaNoisette
 
Re,

Je mets mon code ça ira plus vite en sahcant que $repertoire est egal au nom du répertoire soit "images"

Attention !! :

--> C'est bien sur pas "images" mais le Path en entier :

$repertoire doit contenir un truc du genre "C:/PogramFiles/....../images" sinon PHP est incapable de trouver ton répertoire.
0
Absot Messages postés 819 Statut Membre 44
 
Je deviens de plus en plus fou, j'ai beau rajouter un truc que j'ai tester sur une autre page qui fonctionne, je copie le code en vérifiant que tout correspond, je le colle sur ma nouvelle page et ça me met des erreur!! :(

2 - Voilà mon message d'erreur:
=http://www.zimagez.com/zimage/19eeff77d9716e5ea4371e66d70278376.php][img]http://www.zimagez.com/miniature/19eeff77d9716e5ea4371e66d70278376.png (désolé, je ne sais pas comment on affiche l'image... :/ )

3 - Oui je suis sûr que ce répertoire existe parce que mon TP se fait en 3 pages, la première ou l'on entre le chemin du répertoire, la deuxième page qui vérifie l'existence du répertoire et s'il existe bien, affiche un nouveau tableau et la dernière page qui affiche les images de mon répertoire
0
OulaaLaNoisette
 
Re,

A tu lu mon dernier message ????..
0
OulaaLaNoisette
 
Re,

Tu ne défini pas tout le chemin d'accès à ton répertoire comme expliqué - chez moi ça marche :

> J'ai rajouté les fonctions is_dir() qui teste si le répertoire existe bien (voir cour PHP).
------------------------------------------------------------------------------------------------------------
if (is_dir($repertoire))
{
if ($curseur=opendir($repertoire))
{
$nbp=0;
echo "<TABLE BORDER='1'>";
while (($file = readdir($curseur)) !== false)
{
$tableau=array($file);
for ($i=0; $i < sizeof($tableau); $i++)
{
if ( (getExtension($file)=="php") or (getExtension($file)=="png") or (getExtension($file)=="gif") )
{
$nbp=$nbp+1;

echo ("<tr>");
echo ("<TD><IMG SRC=$tableau[$i] WIDTH=$largeur HEIGHT=$hauteur></TD>");
}
if ($nbp==$image)
{
echo "</TR><TR>";
}
}
}
echo "</TR>";
echo "</TABLE>";
}
else
{
echo "Ce repertoire n'existe pas...";
}
}
else
{
echo "Ce repertoire n'existe pas...";
}
0

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

Posez votre question
Absot Messages postés 819 Statut Membre 44
 
Oui, le chemin que je mets est correcte..

Le chemin est C:/Logs..
0
OulaaLaNoisette
 
Re,

Ton répertoire n'est pas le bon - j'en suis sur.

D'ailleurs ce n'est pas C:/Logs.. mais C:\Logs..

Donne nous le répertoire entier que tu saisis stp.
0
OulaaLaNoisette
 
Re encore,

Je n'ai plus ton document original de TP mais je ne suis pas sur que t'a bien appliqué ce qu'on t'a demandé de faire car ça n'a pas l'air d'être ça - relis le bien stp.
0
Absot Messages postés 819 Statut Membre 44
 
J'ai déjà vérifié pour le nom du répertoire saisie, j'ai taper un truc bidon pour voir et ça m'affichais bien le message d'erreur, quand je tape C:\Logs, ça m'envoie à la page suivante sans message d'erreur et par exemple si je tape dfdfsfd, ça m'envoie sur la page d'erreur..

Lien de mon TP: http://guyonst.free.fr/ap/ap-fevrier.pdf

Ce n'est pas exactement ça qu'il faut que je fasse mais je n'ai pas trop compris donc je fais comme je le sens.. ^^
0
OulaaLaNoisette
 
Re,

Alors j'en conclue que t'a plus de problèmes avec ta fct opendir().

Bah fait comme tu sens ce qui est mieux par rapport à "rien" i.e à "pas grand chose" mais j'avais compris que tu devais rendre un TP et celui ci est pourtant très clair.
0
Absot Messages postés 819 Statut Membre 44
 
J'arrive pas à savoir où est le problème avec ma fonction opendir()... :/

Je n'ai pas tout compris donc je fais le TP à ma façon et quand je l'ai dis à mon prof, il a dit qu'il verrait ce que j'ai fais..
0
OulaaLaNoisette
 
Re,

Je pense que ta fct opendir() fonctionne très bien au contraire mais que c'est surement l'architecture de ton TP qui commence à être zarb.

Bon courage.
0