foto's per pagina
Hallo wie kan mij uitleg geven hoe ik een script kan maken die de map uploads uitleest en dan 3 foto's per pagina weergeeft.........
zoeken voordat je vraagt.
Ik denk door even te Code (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?PHP
$DirPath="../images/";
$mydir_list="";
if (($handle=opendir($DirPath)))
{
$files = array();
$times = array();
while ($node = readdir($handle))
{
$nodebase = basename($node);
if ($nodebase!="." && $nodebase!="..")
{
if(!is_dir($DirPath.$node))
{
$pos = strrpos($node,".jpg");
if($pos===false){
}
else{
//export to xml
$filestat = stat($DirPath.$node);
$times[] = $filestat['mtime'];
$files[] = $DirPath.$node;
//$mydir_list.="<img src=\"".$DirPath.$node."\" />\n";
array_multisort($times, SORT_NUMERIC, SORT_DESC, $files);
}
}
}
}
}
foreach($files as $file) { $mydir_list.="<image src=\"".$file."\" />\n"; }
echo $mydir_list;
?>
$DirPath="../images/";
$mydir_list="";
if (($handle=opendir($DirPath)))
{
$files = array();
$times = array();
while ($node = readdir($handle))
{
$nodebase = basename($node);
if ($nodebase!="." && $nodebase!="..")
{
if(!is_dir($DirPath.$node))
{
$pos = strrpos($node,".jpg");
if($pos===false){
}
else{
//export to xml
$filestat = stat($DirPath.$node);
$times[] = $filestat['mtime'];
$files[] = $DirPath.$node;
//$mydir_list.="<img src=\"".$DirPath.$node."\" />\n";
array_multisort($times, SORT_NUMERIC, SORT_DESC, $files);
}
}
}
}
}
foreach($files as $file) { $mydir_list.="<image src=\"".$file."\" />\n"; }
echo $mydir_list;
?>
ja is wel mooi maar wat ik graag wil is dat ik zelf snap hoe ik het moet bouwen
Bas Kreleger op 20/04/2011 14:29:41:
Van de 'eigenaar' van dit forum zou ik toch een iets (klant)vriendelijker antwoord verwachten... maar goed wie ben ik.Ik denk door even te zoeken voordat je vraagt.
Ik zie het al voor me als ik bij een autodealer kom. "Dag meneer de verkoper ik zou graag een mooie, snelle, nieuwe auto kopen met een cilinderinhoud van minimaal 2 liter." De verkoper: "Ja, ga zelf eerst maar even zoeken in onze showroom meneer. Bij iedere auto ligt een kaartje achter de ruit met daarop de specificaties."
Ik zou er toch vreemd van opkijken... maar misschien ben ik wel een beetje bevooroordeeld en komt het omdat ik in het verleden meerdere malen om je reactie heb gevraagd met betrekking tot cruciale vragen... en niet alleen ik overigens... en je op zulke momenten niet (nooit) thuis geeft, maar nu op een vraag van een nieuwe gebruiker wel ineens acte de presence geeft. En dan met zo'n jammerlijke opmerking.
Ach, waarom zeg ik dit ook allemaal... ik bedoel het allemaal best goed hoor... denk ik.
Toevoeging op 20/04/2011 14:40:13:
@Lowies, kijk eens naar de functie glob
www.php.net/glob
sorry dat ik miss soms niet helemaal goed reageer maar ik ben net met php aan de slag en wil graag begrijpen wat ik doe zit wel te kijken in de link en zie ook wel mooie scripts die ik kan gebruiken maar dan nog snap ik zelf niet hoe ik het moet bouwen...........
begin dan met iets simpelers, bijvoorbeeld een mini rekenmachine ofzo
Gewoon bij het begen beginnen. Je kunt zoals Ozzie al zegt het beste glob() gebruiken om alle afbeeldingen uit een map te halen. Dit is maar een paar regels code. zodra dat lukt kun je het script verder uitbouwen naar wens. Als je op die manier te werk gaat dan is het ook direct een stuk duidelijker wat een regel code doet.
PS het verdelen van items over verschillende pagina's heet pagination.
Kom ik er niet uit zal ik het ff laten horen hier
Toevoeging op 20/04/2011 16:06:19:
Wat ik nu gemaakt heb laat alle foto's zien uit de map uploads maar het kwartje valt nog niet erch..........
moet ik nu in deze while loop een count doen....
Anyway je weet wat een array is?
PS wat voor extensie hebben je afbeeldingen? allemaal verschillende of 1 en dezelfde?
jpg maar ook gif en png
Je kunt er met foreach doorheen lopen om de afbeeldingen weer te geven.
Gewijzigd op 20/04/2011 16:31:01 door - Mark -
Maar hoe kan ik nu zorgen dan dat ik er maar 3 per pagina krijg.
Onderstaande is uit het hoofd dus er kunnen fouten in zitten.
Code (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
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
<?php
# Foto's ophalen.
$images = glob('uploads/*{.jpg,.gif,.png}', GLOB_BRACE);
# Foto's per 3 verdelen over meerdere pagina's.
$pages = array_chunk($images, 3);
# Het totaal aantal foto's en pagina's tellen en laten zien.
echo 'We hebben in totaal '.count($images).'gevonden, deze hebben we per 3 over '.count($pages).' pagina\'s verdeeld';
# Foto's 1st pagina weergeven.
foreach($pages[0] as $img){
echo $img;
}
?>
# Foto's ophalen.
$images = glob('uploads/*{.jpg,.gif,.png}', GLOB_BRACE);
# Foto's per 3 verdelen over meerdere pagina's.
$pages = array_chunk($images, 3);
# Het totaal aantal foto's en pagina's tellen en laten zien.
echo 'We hebben in totaal '.count($images).'gevonden, deze hebben we per 3 over '.count($pages).' pagina\'s verdeeld';
# Foto's 1st pagina weergeven.
foreach($pages[0] as $img){
echo $img;
}
?>
Het is natuurlijk niet de bedoeling dat je elke pagina er hard coded in gaat zetten. Maar daar mag je eerst zelf even op verder knutselen.
LET OP! Er zit nog geen fout afhandeling in.
Gewijzigd op 20/04/2011 17:10:27 door - Mark -
begint nu iets te dagen maar hij ziet maar 6 foto's en er staan er 14 in.........
alleen de jpg's zeker? ik heb het iets aangepast. de spaties kunnen een probleem vormen in het gedeelte tussen de {}.
Nu moet ik dus zorgen voor pagina systeem zal is goed gaan denken daarover.......
Maar door je uitleg wordt het al wel helderder voor me
Gewijzigd op 20/04/2011 17:52:06 door - Mark -
Ja die snap ik maar zit nu te denken hoe ik nu eronder de pagina nummers krijg.......
Je moet het gedeelte er nog inbouwen dat controleerd of er niets fout is gegaan tijdens het ophalen van de afbeeldingen en of er wel iets is gevonden. Een lege array maakt voor de array_chunk() / foreach lus niets uit maar als er niets is gevonden dan bevat $images false en dan ga je foutmeldingen krijgen. Deze moeten dus voorkomen worden.
Ik neem aan dat je iets wilt alse ?page=1 enz in de adres balk?
ja of onder de foto's als ik nu de pages verander krijg ik ook mooi de goeie foto's dus dat werkt al goed.