Ordre des images dans un tableau php
emeline1407
-
jeangilles Messages postés 816 Date d'inscription Statut Membre Dernière intervention -
jeangilles Messages postés 816 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis extrêmement novice en php.
J'ai récupéré un script afin de créer un album dynamique sur mon site. Ca fonctionne bien mais le soucis c'est qu'en créant les images, il ne les mets pas dans l'ordre des noms des imageS. Du coup toutes les mignatures sont dans le désordre et donc pas chronologique.
Le script qui crée les mignatures dans un tableau est :
function liste_rep()
{
echo "<br><div align=center><table border=0 cellspacing=5>";
$rep_ouvert = opendir(".");
$cpt_ligne = 0;
while ($lu=readdir($rep_ouvert))
{
if (test_image("$lu"))
{
$cpt_ligne++;
if ($cpt_ligne%5==1) echo "<tr>\n";
echo "<td valign=center align=center colspan=2>";
echo "<a href=\"$_SERVER[PHP_SELF]?photo=$lu\">";
$nom_mini = "_pre_".$lu;
if (!file_exists($nom_mini))
resize_photo($lu,$nom_mini,100,75,99);
echo "<img src=\"$nom_mini\" border=0 alt=$lu>";
if ($cpt_ligne%5==0) echo "</tr>";
}
}
if ($cpt_ligne%3!=0) echo "<td colspan=2> </td></tr>";
echo "</table></div>";
}
Pourriez-vous m'aider. Ca m'aiderait vraiment car je suis complètement bloqué !!!
Je suis extrêmement novice en php.
J'ai récupéré un script afin de créer un album dynamique sur mon site. Ca fonctionne bien mais le soucis c'est qu'en créant les images, il ne les mets pas dans l'ordre des noms des imageS. Du coup toutes les mignatures sont dans le désordre et donc pas chronologique.
Le script qui crée les mignatures dans un tableau est :
function liste_rep()
{
echo "<br><div align=center><table border=0 cellspacing=5>";
$rep_ouvert = opendir(".");
$cpt_ligne = 0;
while ($lu=readdir($rep_ouvert))
{
if (test_image("$lu"))
{
$cpt_ligne++;
if ($cpt_ligne%5==1) echo "<tr>\n";
echo "<td valign=center align=center colspan=2>";
echo "<a href=\"$_SERVER[PHP_SELF]?photo=$lu\">";
$nom_mini = "_pre_".$lu;
if (!file_exists($nom_mini))
resize_photo($lu,$nom_mini,100,75,99);
echo "<img src=\"$nom_mini\" border=0 alt=$lu>";
if ($cpt_ligne%5==0) echo "</tr>";
}
}
if ($cpt_ligne%3!=0) echo "<td colspan=2> </td></tr>";
echo "</table></div>";
}
Pourriez-vous m'aider. Ca m'aiderait vraiment car je suis complètement bloqué !!!
Configuration: Windows XP Internet Explorer 6.0
10 réponses
-
Essayes en remplacant ta fonction par :
function liste_rep() { echo "<br><div align=center><table border=0 cellspacing=5>"; $cpt_ligne = 0; $liste = scandir("."); for($i=0;$i<count($liste);$i++){ if($liste[$i] != '.' && $liste[$i] != '..'){ $lu = $liste[$i]; if (test_image("$lu")) { $cpt_ligne++; if ($cpt_ligne%5==1) echo "<tr>\n"; echo "<td valign=center align=center colspan=2>"; echo "<a href=\"$_SERVER[PHP_SELF]?photo=$lu\">"; $nom_mini = "_pre_".$lu; if (!file_exists($nom_mini)) resize_photo($lu,$nom_mini,100,75,99); echo "<img src=\"$nom_mini\" border=0 alt=$lu>"; if ($cpt_ligne%5==0) echo "</tr>"; } } } if ($cpt_ligne%3!=0) echo "<td colspan=2> </td></tr>"; echo "</table></div>"; } -
En fait j'obtiens :
Fatal error: Call to undefined function: scandir() in /mnt/101/sdb/a/1/julienetemeline/photographeprepa/Resize_photos_2.php on line 43
Du coup j'ai essayé ton script en remplaçant juste scandir par opendir() dans ton script mais les images ne s'affiche plus... -
ha oui tu dois être en php 4 et scandir est une fction php5 ...
alors remplaces juste cette ligne par (la ligne contenant le scandir) par :
$liste = Array(); $od = opendir($dir); $nb=0; while (false !== ($fic= readdir($od))) { if($fic!= '.' && $fic!='..'){ $liste[$nb] = $fic; $nb++ } } sort($liste); -
Et bien maintenant j'ai ça :
Parse error: syntax error, unexpected '}' in /mnt/101/sdb/a/1/julienetemeline/photographeprepa/Resize_photos_2.php on line 50
Si tu veux, je peux t'envoyer le script entier par mail pour que tu le test...
Vraiment désolée mais le php je comprends pas trop... -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
dsl, c'est parce qu'il manque un ; après le $nb++ ^^
Ca donnerai donc :function liste_rep() { echo "<br><div align=center><table border=0 cellspacing=5>"; $cpt_ligne = 0; $liste = Array(); $od = opendir($dir); $nb=0; while (false !== ($fic= readdir($od))) { if($fic!= '.' && $fic!='..'){ $liste[$nb] = $fic; $nb++; } } sort($liste); for($i=0;$i<count($liste);$i++){ if($liste[$i] != '.' && $liste[$i] != '..'){ $lu = $liste[$i]; if (test_image("$lu")) { $cpt_ligne++; if ($cpt_ligne%5==1) echo "<tr>\n"; echo "<td valign=center align=center colspan=2>"; echo "<a href=\"$_SERVER[PHP_SELF]?photo=$lu\">"; $nom_mini = "_pre_".$lu; if (!file_exists($nom_mini)) resize_photo($lu,$nom_mini,100,75,99); echo "<img src=\"$nom_mini\" border=0 alt=$lu>"; if ($cpt_ligne%5==0) echo "</tr>"; } } } if ($cpt_ligne%3!=0) echo "<td colspan=2> </td></tr>"; echo "</table></div>"; }
-
Et maintenant j'ai ça :
Warning: readdir(): supplied argument is not a valid Directory resource in /mnt/101/sdb/a/1/julienetemeline/photographeprepa/Resize_photos_2.php on line 46
Warning: sort() expects parameter 1 to be array, null given in /mnt/101/sdb/a/1/julienetemeline/photographeprepa/Resize_photos_2.php on line 52 -
A non pardon, j'ai ça plutôt : (après avoir recopier tout le script...)
Warning: readdir(): supplied argument is not a valid Directory resource in /mnt/101/sdb/a/1/julienetemeline/photographeprepa/Resize_photos_2.php on line 47 -
Oui excuses moi j'ai un peu de mal XD
je veux ouvrir le répertoire $ dir alors que jl'ai même pas initialisé ^^
remplace$od = opendir($dir);
par
$od = opendir(".");
(enfin "." si c'est le répertoire où se situe ton fichier qui contient les images ^^)
PS : dsl de pas pouvoir tester le code avant de te l'envoyer, mais j'ai aucun serveur capable d'interpréter du php sur cet ordi, et jvais pas non plus utiliser le serveur du boulot pour ca XD) -
Génial !!!!!!!!!!!!!!!!!
Ca marche !!!!!!!!!!!!!!!!!!!!!
Merci énormément beaucoup. Tu viens de me sauver des heures et des heures de chargement !!!
Encore merci et très très bonne soirée !!!
PS : si j'ai un soucis je pourrais te reposer des questions ??? -
Oui oui pas de pblème :)
et de rien ^^