[PHP] Laatste 15 files in een dir laten zien...

Pagina: 1
Acties:

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Ik heb een scriptje:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
$i=0;
$bestanden = array();
$handle=opendir($pad);
while ($file = readdir($handle)) {
if (($file != ".") &amp;&amp; ($file != "..")) {
$bestanden[$i] = $file;
$i++;
}
}
closedir($handle);
sort($bestanden);
reset($bestanden);
if(sizeof($bestanden) == 0) {
echo("Er zijn geen bestanden!");
}
for($j=0;$j<sizeof($bestanden);$j++){
if ($action == "inhoud") {
echo ("[img]$bestanden[$j]>";)
}
}
?[/img]

Hij laat dus leuk alle plaatjes in een dir zien.
Maar ik wil dat hij alleen de laatste 15 laat zien.

Ik heb al zitten rommelen met:

$bestanden = array();
$weergeefbestandlengte = count($bestanden);
$i = $weergeefbestandlengte - 15;

Maar het werkt niet. Ik ben een PHP leekje dus sorry als het iets heel doms is... |:(

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Zoals jij het hebt geprobeerd is wel een goede methode. Dit vind ik wel een beetje raar:
PHP:
1
2
3
4
5
6
7
8
9
<?
for($j=0;$j<sizeof($bestanden);$j++)
{
   if ($action == "inhoud") 
   {
      echo ("[img]$bestanden[$j][/img]";)
   }
}
?>

Maak van die sizeof eens een count(), zoals je al eerder had vermeld. Verder staat die ; ook op een rare plaats.

Als je dit stukje code gebruikt
PHP:
1
2
3
4
5
<?
$bestanden = array();
$weergeefbestandlengte = count($bestanden);
$i = $weergeefbestandlengte - 15;
?>

Dan wordt je for-loop:
PHP:
1
2
3
<?
for($j=i;$j<count($bestanden);$j++)...
?>

good luck

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Hmmm, ok, met dit script laat hij 15 pics zien, maar omdat hij $image niet meegeeft staan er allemaal kruisjes. (geen correcte <img src> dus)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
$handle=opendir($pad);
while ($file = readdir($handle)) {
if (($file != ".") &amp;&amp; ($file != "..")) {
$bestanden[$i] = $file;
}
}
closedir($handle);
sort($bestanden);
reset($bestanden);
if(count($bestanden) == 0) {
echo("Er zijn geen bestanden in de Gallery!");
}
$bestanden = array();
$weergeefbestandlengte = count($bestanden);
$i = $weergeefbestandlengte - 15;
$i++;
for($j=$i;$j<count($bestanden);$j++){
if ($action == "inhoud") {
echo <a href=?pagina=kim&amp;actie=view&amp;image=$bestanden[$j]>[img]$bestanden[$j]></a></div[/img]";
}
}
if ($actie == "view") { 
echo "<div align='center'><br>[img]'$image'></div[/img]"; 
return false;
}
?>

En uhmmm
for($j=i;$j<count($bestanden);$j++){
moest
for($j=$i;$j<count($bestanden);$j++){
zijn toch? :? (Anders werkt er niks meer...)

  • Victorio
  • Registratie: Januari 2001
  • Laatst online: 01-02-2024
Heb nog wat zitten rommelen...
Ik geloof dat ik het heb:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
$i=0;
$bestanden = array();
$handle=opendir($pad);
while ($file = readdir($handle)) {
if (($file != ".") &amp;&amp; ($file != "..")) {
$bestanden[$i] = $file;
$i++;
}
}
closedir($handle);
sort($bestanden);
reset($bestanden);
if(count($bestanden) == 0) {
echo("Er zijn geen bestanden in de Gallery!");
}
$aantalbestanden = count($bestanden);

for($j=($aantalbestanden - 10);$j<count($bestanden);$j++){
if ($action == "inhoud") {
echo ("[img]$pad$bestanden[$j]";
}
}
?[/img]

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Op donderdag 07 februari 2002 00:53 schreef Orphix het volgende:
Maak van die sizeof eens een count(), zoals je al eerder had vermeld.
Hoezo dat dan? Wat is er tegenwoordig mis met sizeof()?

Rustacean