Eerste bestand uit een folder halen en folders overslaan
Mijn arrays zien er nu zo uit:
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
74
75
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
74
75
Array
(
[0] => .
[1] => ..
[2] => 20151113_152308.jpg
[3] => 20160524_173033.jpg
[4] => 20160810_100405.jpg
[5] => 20160816_142932.jpg
[6] => 20160817_135507.jpg
[7] => 20170203_145901.jpg
[8] => 20170203_151235.jpg
[9] => Afbeelding-ifone-131.jpg
[10] => Afbeelding-ifone-508.jpg
[11] => Bestratingswerkzaamheden
[12] => Mvc-161.jpg
[13] => Rioleringswerkzaamheden
[14] => SANY0016.jpg
[15] => SANY0036.jpg
[16] => SANY0060.jpg
[17] => SANY0132.jpg
[18] => SANY0133.jpg
[19] => SANY0158.jpg
[20] => SANY0159.jpg
[21] => SANY0361.jpg
[22] => Zeefwerkzaamheden
)
Array
(
[0] => .
[1] => ..
[2] => Acceptatie afvalstoffen - bouwstoffen
[3] => Afzet afvalstoffen - bouwstoffen
[4] => Gronddepot,-kraan.jpg
[5] => IMG_2596.jpg
[6] => IMG_5258.jpg
[7] => PA100991.jpg
[8] => PA131006.jpg
[9] => PA131009.jpg
[10] => PA131015.jpg
[11] => PA161034.jpg
[12] => SANY0050.jpg
[13] => Transport afvalstoffen - bouwstoffen
)
Array
(
[0] => .
[1] => ..
[2] => Asbest inventarisatie
[3] => Asfaltonderzoek
[4] => Bodemonderzoek
[5] => SANY0123.jpg
[6] => SANY0695.jpg
[7] => Saneringsontwerp
[8] => Saneringsvarianten
)
Array
(
[0] => .
[1] => ..
[2] => Asbestsanering
[3] => Calamiteitensaneringen
[4] => Grond sanering
[5] => Sanering asbest in bodem
[6] => Tank_sanering
[7] => Vervoer bouwstoffen - afvalstoffen
)
Array
(
[0] => .
[1] => ..
[2] => Aanleg vloeistofdichte voorzieningen
[3] => Controle vloeistofdichte voorzieningen
[4] => Herstel vloeistofdichte voorzieningen
[5] => Oppervlakte reiniging
)
(
[0] => .
[1] => ..
[2] => 20151113_152308.jpg
[3] => 20160524_173033.jpg
[4] => 20160810_100405.jpg
[5] => 20160816_142932.jpg
[6] => 20160817_135507.jpg
[7] => 20170203_145901.jpg
[8] => 20170203_151235.jpg
[9] => Afbeelding-ifone-131.jpg
[10] => Afbeelding-ifone-508.jpg
[11] => Bestratingswerkzaamheden
[12] => Mvc-161.jpg
[13] => Rioleringswerkzaamheden
[14] => SANY0016.jpg
[15] => SANY0036.jpg
[16] => SANY0060.jpg
[17] => SANY0132.jpg
[18] => SANY0133.jpg
[19] => SANY0158.jpg
[20] => SANY0159.jpg
[21] => SANY0361.jpg
[22] => Zeefwerkzaamheden
)
Array
(
[0] => .
[1] => ..
[2] => Acceptatie afvalstoffen - bouwstoffen
[3] => Afzet afvalstoffen - bouwstoffen
[4] => Gronddepot,-kraan.jpg
[5] => IMG_2596.jpg
[6] => IMG_5258.jpg
[7] => PA100991.jpg
[8] => PA131006.jpg
[9] => PA131009.jpg
[10] => PA131015.jpg
[11] => PA161034.jpg
[12] => SANY0050.jpg
[13] => Transport afvalstoffen - bouwstoffen
)
Array
(
[0] => .
[1] => ..
[2] => Asbest inventarisatie
[3] => Asfaltonderzoek
[4] => Bodemonderzoek
[5] => SANY0123.jpg
[6] => SANY0695.jpg
[7] => Saneringsontwerp
[8] => Saneringsvarianten
)
Array
(
[0] => .
[1] => ..
[2] => Asbestsanering
[3] => Calamiteitensaneringen
[4] => Grond sanering
[5] => Sanering asbest in bodem
[6] => Tank_sanering
[7] => Vervoer bouwstoffen - afvalstoffen
)
Array
(
[0] => .
[1] => ..
[2] => Aanleg vloeistofdichte voorzieningen
[3] => Controle vloeistofdichte voorzieningen
[4] => Herstel vloeistofdichte voorzieningen
[5] => Oppervlakte reiniging
)
Alleen de 1e array heeft een afbeelding als 1e bestand. Ik wil bij de rest de folders overslaan en alleen maar een afbeelding tonen (als die er is). Hoe kan ik dat doen?
Dit is nu mijn loop:
Code (php)
Dat laat alleen bij de 1e een afbeelding zien en bij de rest folders.
Gewijzigd op 09/10/2019 12:39:09 door Snelle Jaap
Blijkbaar ga je er nu al vanuit dat de eerste 2 entries altijd een directory zijn ("." en ".."), da's ook niet helemaal zuiver. Gewoon er doorheen lo(o)pen, en na de eerste is_file() break-en.
Rob Doemaarwat op 09/10/2019 14:05:02:
Blijkbaar ga je er nu al vanuit dat de eerste 2 entries altijd een directory zijn ("." en ".."), da's ook niet helemaal zuiver. Gewoon er doorheen lo(o)pen, en na de eerste is_file() break-en.
Bovenstaande toonde niets, ik heb nu de punten uit de array gefilterd en het iets anders opgeschreven:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
foreach($directories as $image){
$files = array_diff(scandir($pad.$image), array('.', '..', 'index.html'));
foreach($files as $file){
if(!is_dir($file)){
echo $file.'<br>';
break;
}
}
}
$files = array_diff(scandir($pad.$image), array('.', '..', 'index.html'));
foreach($files as $file){
if(!is_dir($file)){
echo $file.'<br>';
break;
}
}
}
Maar dit geeft me nog steeds folders, hoe kan dat als ik erop check of het geen folder is?
Dit is het resultaat wat ik krijg:
En moet je ook niet de recursie in indien mappen genest zijn? Mogelijk wil je van diepere directories ook een eerste afbeelding?
Thomas van den Heuvel op 09/10/2019 16:10:23:
En moet je ook niet de recursie in indien mappen genest zijn? Mogelijk wil je van diepere directories ook een eerste afbeelding?
Ja lang verhaal maar dat werkt al, de submappen komen op een andere pagina en gaan altijd maar 1 niveau diep dus daar is de eerste waarde in de array sowieso altijd een file. Deze pagina staat er los van en toont alleen de hoofdmappen.
Gewijzigd op 09/10/2019 16:14:10 door Snelle Jaap
Code (php)
@Ariën: De accolades klopten wel, maar ik ben er een beetje "allergisch" voor. Ik zou bovenstaande dus gewoon schrijven als:
Code (php)
Ik weet het, hier is niet iedereen gecharmeerd van, maar ik type altijd maar gewoon door tot ik echt een accolade nodig heb (ivm multi-line statement daarna).
Het "probleem" daarbij is wel dat elke keer dat je (of anderen) daarmee geconfronteerd wordt je geneigd bent om hier dan over na te denken of ze bewust zijn weggelaten of toch per ongeluk zijn vergeten. Als je gewoon overal consequent accolades gebruikt hoef je dat niet te doen. Minder is niet per definitie beter :). Leesbaarheid is ook een ding.
Glob
of dit Scan folder for folders, and get first image of folder
Gewijzigd op 09/10/2019 19:23:00 door Michael -
Thanks ik heb het voor elkaar gekregen met bovenstaande hulp.