Gå til innhold

Anbefalte innlegg

Holder på med et galleri script, og lurer på om man kan gjøre slik at følgende uthenting av thumbs begrenses til 70.

 

Kode:

<?php 

function cmp($a, $b) 
{ 
  return strcmp($b["mtime"], $a["mtime"]); 
} 


//$relative_path = "/foto/thumbs"; 
$relative_path = "foto/thumbs"; 
$absolute_path = getcwd()."/".$relative_path; 


$dir_resource = opendir($absolute_path); 
$i = 0; 
while( false !== ($file = readdir($dir_resource) ) ) 
{ 
  if( eregi("/$.+\.jpeg|jpg|png|gif^/", $file) ) 
  { 
      $files[$i]["name"] = $file; 
      $files[$i]["mtime"] = filemtime($absolute_path."/$file"); 
      $i++; 
  } 
} 
closedir($dir_resource); 


usort($files, "cmp"); 


foreach($files as $file) 
{ 
  echo "<a href=\"index.php?side=bilder&id=".basename($file['name'])."\"><img src=\"$relative_path/".basename($file['name'])."\" width=\"35\" height=\"35\" border=\"0\"></a>"; 
} 



echo "$file_list"; 
echo "<br>"; 

$mappe = "foto/thumbs"; 

function antallFiler($mappe) { 
   if(is_dir($mappe)) { 
       $counter = 0; 
       $dh = opendir($mappe); 
       while($file = readdir($dh)) { 
           if($file == '..' || $file == '.') continue; 
           if(is_dir($file)) continue; 
           $counter++; 
       } 
   } 
   return $counter; 
} 

$antall = antallFiler('./foto/thumbs'); 

echo "$antall bilder totalt<p />"; 
?> 

 

 

slik at det etterhvert ikke blir fult av thumbs å hente ut.

 

tusen takk

Lenke til kommentar
Videoannonse
Annonse

kan ting om if...

 

men hvordan kan scriptet vite om det er flere thumbs en 70 ?

noen spesielle funksjoner som må brukes?

 

hvor skal det puttes inn i koden osv osv

 

er dette noe som er i den duren? :

foreach ($recs as $id=>$rec) {
    if($id=="5") {
        break;
    } else {
    print .....
}

 

er veldig glad for hjelp og svar som kan lære meg saker og ting

Endret av kennteh
Lenke til kommentar

  if( eregi("/$.+\.jpeg|jpg|png|gif^/", $file) ) 
 { 
     $files[$i]["name"] = $file; 
     $files[$i]["mtime"] = filemtime($absolute_path."/$file"); 
     $i++; 
 }

 

det er her den legger til fila som en bildefil, du ser at den leter etter bildelingnende file extension. hvis du slenger på " and $i < 70" i ifsetninga, så burde den slutte å legge til bilder hvis $i går over 70

Lenke til kommentar

har laget den slik nå:

 

if( eregi("/$.+\.jpeg|jpg|png|gif^/", $file) )
  {
  if  ($i < 70) {
      $files[$i]["name"] = $file;
      $files[$i]["mtime"] = filemtime($absolute_path."/$file");
      $i++;
  }

 

 

men den fjerner de nyeste bildene, og det er ikke meningen :)

den skal fjerne de eldste...

Lenke til kommentar

hm.. ok, ta bort det du har endret, og bytt ut denne delen:

foreach($files as $file) 
{ 
 echo "<a href=\"index.php?side=bilder&id=".basename($file['name'])."\"><img src=\"$relative_path/".basename($file['name'])."\" width=\"35\" height=\"35\" border=\"0\"></a>"; 
}

 

til slik:

$i=0;
foreach($files as $file) 
{ 
 if(++$i >= 70)
   break;
 echo "<a href=\"index.php?side=bilder&id=".basename($file['name'])."\"><img src=\"$relative_path/".basename($file['name'])."\" width=\"35\" height=\"35\" border=\"0\"></a>"; 
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...