Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  PHP - kuva viimati folderisse lisatud pildid veebilehel märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Risto40
HV vaatleja

liitunud: 31.10.2004




sõnum 24.05.2012 10:01:53 PHP - kuva viimati folderisse lisatud pildid veebilehel vasta tsitaadiga

Tervitus!
Kas keegi saaks aidata PHP-ga, ise ma seda paraku ei jaga? Mul on selline php kood olemas, mis loeb folderis olevad jpg failid, sorteerib need folderisse lisatud aja järgi (filectime järgi) ning siis kuvab need KÕIK veebilehle. Nüüd aga sooviks teha indeks lehte, mis kuvab folderist vaid 2 või 3 viimati lisatud pilti teatud folderis.
Veidi veel, et allolev koodijupp loeb, sorteerib ja kuvab thumbnaile ning tekitab neist lingid, millele klikkides kuvatakse suured pildid thumbnaili kausta sees olevas kaustas.

<?

$names = array();
//$dates = array();
$dir = 'galerii/loodus/loojang';
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if (strlen($file) - strpos(strtoupper($file), '.JPG') == 4) {
$names[] = $file;
$dates[] = filectime("$dir/$file");
}
}
closedir($handle);
}
arsort($dates); //asort sorteerib ja paneb uuemad lõppu, arsort on vastupidi
foreach ($dates as $key=>$value) {
$file = $names[$key];
$str = $file; //failinimi laiendita
$str = explode(".", $str); //failinimi laiendita
$failinimi_laiendita = $str[0]; //failinimi laiendita
//$date = date('d-m-Y', $value);
echo "
<a class='thumb_name' href='$dir/suured/$failinimi_laiendita","_suur.jpg' rel='lightbox[roadtrip]' title='Faili nimi: $failinimi_laiendita'>
<div id='galerii_foto' align='center'>
<img src='$dir/$file' border='1' style='border-color:#999999; vertical-align:top;' align='center'/><table border='0' cellspacing='0' cellpadding='0'><tr><td valign='bottom'>$failinimi_laiendita</td></tr></table>
</div>
</a>
";
}
?>

Kuigi ma seda teemat ei jaga, siis arvan, et tuleks midagi ümber teha echo lause juures. Aga seda muidugi vaid siis, kui echo hakkab kuvama pilte kõige uuemast. Kui preagune echo kuvab pilte alustades vanimast, siis tuleb vast veel midagi lisaks ümber teha.
tagasi üles
vaata kasutaja infot saada privaatsõnum
neros
HV Guru
neros

liitunud: 26.11.2003




sõnum 24.05.2012 10:09:22 vasta tsitaadiga


$max = 3;
$counter = 0;
foreach($dates as $key=>$value)
{
    $counter++;
    if($counter >= $max)
        break;
    ...
}


Pead määratlema, et sul oleks kusagil mingi fori katk sees. Muidu pritsitaksegi kõik. Või siis lihtsalt lõikad massiivi väiksemaks.

_________________
GitHub
.NET Core & Azure baasil lahendused ja arhitektuur - kontakt.
Kommentaarid: 48 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum
Risto40
HV vaatleja

liitunud: 31.10.2004




sõnum 24.05.2012 12:45:31 vasta tsitaadiga

Suured tänud! Sain asja tööle.
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  PHP - kuva viimati folderisse lisatud pildid veebilehel
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.