Foreach() : code qui ne fonctionne plus.

Simon
Invité n'ayant pas de compte PHPfrance

16 oct. 2005, 16:58

On m'a proposé ce code :

Code : Tout sélectionner

<html> <head> <title></title> <style> <!-- BODY { SCROLLBAR-FACE-COLOR: #000000; SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; SCROLLBAR-3DLIGHT-COLOR: #000000; SCROLLBAR-ARROW-COLOR: #ffffff; SCROLLBAR-TRACK-COLOR: #000000 } --> .fond { background-attachment: fixed; background-color: #000000; background-image: url(copy.gif); background-repeat: no-repeat; background-position: left bottom; } </style> <script type="text/javascript"> function ChangePhoto(nom_photo,photo){ if (parent.frames[0].document.getElementById){ parent.frames[0].document.getElementById(photo).innerHTML=nom_photo; } } function des(txt) { window.status = txt; return true; } function eff() { window.status=""; } </script> </head> <body class="fond" bgcolor="#000000" leftmargin="0" topmargin="0" bottommargin="0"> <table bgcolor="#000000" cellpadding="10" cellspacing="15" align="center" border="0"><tr> <td><img src="made.gif"></td> <?php $dir = './img/'; $dh = opendir($dir);// On ouvre le repertoire while(($photo_nom = readdir($dh)) !== false){// Boucle pour parcourir le repertoire if(strpos($photo_nom, '.jpg') !== false){// Si le nom du fichier correspond à celui demandé $photo_nom = str_replace('.jpg','', $photo_nom); ?> <td align="center"><a onMouseOver="des('Cliquez pour agrandir'); return true;" onMouseOut="eff();" href="javascript:ChangePhoto('<font size=<?php echo 2; ?> color=<?php echo 'white'; ?>><em><b><?php echo $photo_nom; ?></b></em></font><br><br><img src=<?php echo $photo; ?>><br><br><br><br><a style="color:white; font-size:10; font-weight:normal;" href="index.php" target="_blank">Retour accueil</a>','image')"><img border="0" src="<? echo $photo; ?>.min"> </a></td> <?php } } closedir($dh);// On ferme le repertoire ?> </tr></table> <br> </body> </html>
Il y a un léger arrangement c'est difficile à expliquer mais je pense que celui qui m'a donné ça est sur la bonne voie. Allez voir : http://latox.free.fr/3d/ rubrique galerie

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

16 oct. 2005, 17:09

Il semble que FREE (encore une fois) n'accepte pas la fonction glob(), alternative:
if ($handle = opendir('.')) // répertoire courant
{
   while (false !== ($file = readdir($handle))) 
   {
       if ($file != "." && $file != "..") 
	   {   
		    if(substr($file, strrpos($file, '.')) == ".jpg")
				echo $file.'<br>';
       }
   }
   closedir($handle);
}
EDIT: pas vu qu'il y avait une 3eme page :P

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Simon
Invité n'ayant pas de compte PHPfrance

16 oct. 2005, 17:33

Pourtant ça fonctionnait très bien avant...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

16 oct. 2005, 18:00

eh bien avec FREE on ne sait jamais, en tout cas j'ai testé et la fonction me retourne toujours False, il on changé d'avis sur la fonction comme avec la fonction mail() qui n'était pas utilisable et qui l'est depuis un moment maintenant.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Simon
Invité n'ayant pas de compte PHPfrance

16 oct. 2005, 20:17

OK et bien merci Truc et merci beaucoup à tous les autres pour votre aide !
Finalement j'ai changé mes fichiers de serveur et ca fonctionne !
Encore merci