Aller au contenu

2 Problèmes


izbing

Sujets conseillés

Bonjours.

Voila mon site :

http://izbing2.tonsite.biz/wall/

J'ai 2 petite problème.

Voici le code source de la page que j'aimerai modifié :

<?
include("sys/systemfiles.php");
if(empty($page)){ $page = 1; }
?>
<html>
<head>
<title><? echo $title; ?></title>
<Style TYPE="text/css">
.link { font-family: arial; color: <? echo $colorLink; ?>; text-decoration: none }
.link:hover { font-family: arial; color: <? echo $colorLinkHover; ?>; text-decoration: underline }
</Style>
</head>

<body text="#006699" link="<? echo "$colorLink"; ?>" vlink="<? echo $colorLink; ?>" alink="<? echo $colorLink; ?>" bgcolor="<? echo $colorBack; ?>">
<table width="100%" border="0">
<tr>
<td bgcolor="#CCCCCC"><div align="center"><span class="Style1">W A L L P A P E <span class="Style2">R</span> - Z I N <span class="Style2">G</span></span><br><img src="ligne.gif" width="400" height="1"><br><a href="../index.php">Retour au site</a></div></td></tr></table>

<div align="center">
 <table border="0" width="780" cellpadding="0" cellspacing="0" height="100%">
   <tr>
     <td width="3" rowspan="3" bgcolor="#C0C0C0"></td>
   </tr>
   <tr>
     <td width="779" valign="top">
       <table border="0" cellpadding="5" cellspacing="0" width="100%">
         <tr>
           <td>
             <div align="left">
               <font color="#333333" face="Arial"><b><a href="?" class="link">home</a><? echo getRepLink($dir); ?></b></font><br>
<?
$handle = opendir("home$dir");
while (false !== ($file = readdir($handle))) {
   if ($file !=  "." && $file != ".." && $file != "img" && $file != "sys" && is_dir("./$picRep$dir/$file")) {
?>

               <font color="#333333" face="Arial">  <a href="?dir=<? echo "$dir/$file"; ?>" class="link"><? echo $file; ?></a></font><br>
<?
   }
}
closedir($handle);
?>
             </div>
           </td>
         </tr>
       </table>
       <table border="0" cellpadding="5" cellspacing="0" width="100%">
         <tr>
           <td>
             <font face="Arial">
               <?
               if(file_exists("./$picRep$dir/text.txt")) { include("./$picRep$dir/text.txt"); }
               ?>
             </font>
           </td>
         </tr>
       </table>
       <table border="0" cellpadding="5" cellspacing="0" width="100%">
         <tr>
           <td>
             <font face="arial">
<?
$handle = opendir("$picRep$dir");
while (false !== ($file = readdir($handle))) {
   if ($file != "." && $file != ".." && $file != "img" && $file != "sys" && isImg($file)) {
        $imgList[] = $file;
   }
}
closedir($handle);

$nbimg = count($imgList);

$seek = ($page - 1)*$nbImgPerPg;

$i = 0;

if ($nbimg - $seek > $nbImgPerPg){ $nbimg = $nbImgPerPg; $nextPage = 1; }else{ $nbimg = $nbimg - $seek; }


$nextPageNb = $page + 1;
$prevPageNb = $page - 1;

if ($page > 1){ $prevPage = 1; }

if ($thumbGen) { $genFile = "thumbgen.php?fichier="; }


while ($nbimg > $i) {
       $imgStat1 = $i+$seek;
       $imgStat2 = $i+$seek+1;
       $imgStat3 = $i+$seek+2;
       $imgStat4 = $i+$seek+3;
       if($nbimg-$i != 1){ echo "
       <table width=\"50%\" align=\"center\">
         <tr>
           <td width=\"25%\">
             <center><a href=\"img.php?img=./$picRep$dir/$imgList[$imgStat1]\" target=\"_blank\" width=\"100\"><img src=\"$genFile./$picRep$dir/$imgList[$imgStat1]\" border=\"0\" height=\"100\"></a></center>
           </td>
           <td width=\"25%\">
             <center><a href=\"img.php?img=./$picRep$dir/$imgList[$imgStat2]\" target=\"_blank\" width=\"100\"><img src=\"$genFile./$picRep$dir/$imgList[$imgStat2]\" border=\"0\" height=\"100\"></a></center>
           </td>
           <td width=\"25%\">
             <center><a href=\"img.php?img=./$picRep$dir/$imgList[$imgStat3]\" target=\"_blank\" width=\"100\"><img src=\"$genFile./$picRep$dir/$imgList[$imgStat3]\" border=\"0\" height=\"100\"></a></center>
           </td>
           <td width=\"25%\">
             <center><a href=\"img.php?img=./$picRep$dir/$imgList[$imgStat4]\" target=\"_blank\" width=\"100\"><img src=\"$genFile./$picRep$dir/$imgList[$imgStat4]\" border=\"0\" height=\"100\"></a></center>
           </td>
         </tr>
         <tr colspan=\"4\">
           <td height=\"10\">
           </td>
         </tr>
       </table>
       ";
       }else{
       echo "
       <table width=\"50%\" align=\"center\">
         <tr>
           <td width=\"50%\">
             <center><a href=\"img.php?img=./$picRep$dir/$imgList[$imgStat1]\" target=\"_blank\" width=\"100\"><img src=\"$genFile./$picRep$dir/$imgList[$imgStat1]\" border=\"0\" height=\"100\"></a></center>
           </td>
           <td width=\"50%\">
             <center></center>
           </td>
         </tr>
         <tr colspan=\"2\">
           <td height=\"10\">
           </td>
         </tr>
       </table>
       ";
       }
       
       $i = $i + 4;
}

echo "<br>";
if($prevPage == 1){ echo "<a href=\"?dir=$dir&page=$prevPageNb\" class=\"link\">Précédent</a>"; }
if($prevPage == 1 && $nextPage == 1){ echo " - "; }
if($nextPage == 1){ echo "<a href=\"?dir=$dir&page=$nextPageNb\" class=\"link\">Suivant</a>"; }
?>
             </font>
           </td>
         </tr>
       </table>
     </td>
   </tr>
   
 </table>
</div>

</body>

</html>

Voila.

Le Premier Probleme est que j'aimerai que les dossier soit dans l'ordre alphabétique.

Le second probleme est que le script est prévut pour afficher les images dans 2 colonnes mais je l'ai modifier pour les mettres sur 4 colonnes. Tout marche sauf quand il y a 2 ou 3 images selement. Quand il y a 2 images dans le repertoire, il affiche 2 autres images, mais qui n'existe pas (liens mort) pareil quand il y a 3 images sauf qu'il en met qu'une.

Si vous avez besoin d'information complémentaire dite le moi

GRAND MERCI pour celui (ou celle) qui prendra la peine de m'aider, c'est très généreux de sa par :)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

pour avoir la liste des répertoires dans l'ordre alphabétique, il faut les mettre dans un tableau (avec array_push par exemple) puis trier ce tableau (avec sort ). Puis les afficher.

Pour les liens morts des images, tu as dû résoudre le problème, parce que je n'en vois pas sur la page en question.

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Pour tes liens morts, tu peux résoudre le problème en :

1) affichant les différentes cases contenant les photos dans une boucle (ca te donnera un code plus lisible et avec moins de redondance)

2) en testant l'existence du fichier à chaque fois avant d'écrire le lien => 1 fichier = 1 case de tableau avec 1 lien, pas de fichier = 1case de tableau sans lien dedans

NB : Si tu as beaucoup de fichiers, tester l'existence de tous peut te prendre des ressources pour rien, DONC, si tu es sûr que les fichiers en question existent, traite la première ligne de 4 photos à part. Tu fais des tests d'existence pour ces fichiers là et tu oublies pour les autres. ;)

Lien vers le commentaire
Partager sur d’autres sites

Voici mon nouveau code pour afficher les dossier :

  
$dir = split("/",$dir);
 $nb = count($dir);
 $i = 1;
 $linkString = "";
 $tempDir = "";
 while($nb > $i){
   if($i == $nb - 1){
     $linkString .= "/$dir[$i]";
   }else{
     $linkString .= "/<a href=\"?dir=$tempDir/$dir[$i]\" class=\"link\">$dir[$i]</a>";
     $tempDir .= "/$dir[$i]";
   }
   $i++;
 }
 return $linkString;
}

Malheureusement je ne m'en sors pas avec la fontion sort.

Quelqu'un pour m'expliquer comment l'implémenté ?

Je suis désolé mais je suis nouveau dans le monde du php :(

Lien vers le commentaire
Partager sur d’autres sites

Malheureusement je ne m'en sors pas avec la fontion sort.

Quelqu'un pour m'expliquer comment l'implémenté ?

Je suis désolé mais je suis nouveau dans le monde du php :(

<{POST_SNAPBACK}>

Rien de plus simple!

sort($ton_tableau):

et le tri se fait directement dans le tableau, sans retour.

Plus d'infos sur le manuel PHP : Fonction sort

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...