[SOLVED] uitlezen directory en random weergeven
Ik heb een handig script welke ik gebruik voor SmoothGallery. Dit script leest een directory uit en geeft de bestanden weer welke hij is tegen gekomen.
Is het mogelijk een aanpassing te maken in het script zodat elke keer wanneer het wordt uitgevoerd de bestanden RANDOM worden weer gegeven? Op die manier begint de slideshow zeg maar niet elke keer met dezelfde foto.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$gallery = './portfolio/bruiloften/';
if ($handle = opendir($gallery)) {
while (false !== ($file = readdir($handle))) {
if (($file !== '.')&&($file != '..'))
{?>
<div class="imageElement">
<h3><?php echo $file; ?></h3>
<p></p>
<a href="<?php echo $gallery.$file; ?>" class="open"></a>
<div class="full"><?php echo $gallery.$file; ?></div>
</div>
<?php }
}
closedir($handle);
}
?>
$gallery = './portfolio/bruiloften/';
if ($handle = opendir($gallery)) {
while (false !== ($file = readdir($handle))) {
if (($file !== '.')&&($file != '..'))
{?>
<div class="imageElement">
<h3><?php echo $file; ?></h3>
<p></p>
<a href="<?php echo $gallery.$file; ?>" class="open"></a>
<div class="full"><?php echo $gallery.$file; ?></div>
</div>
<?php }
}
closedir($handle);
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Stef Segers
zie php.net voor meer info, leuk oefen projectje voor array's
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
http://www.stefansegers.nl/test.php staat het resultaat.
Verder zie ik ook dat de bestanden . en .. worden mee genomen. Dat is ook niet goed want dat is niets.
S.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Iets als dit?
Helemaal goed.
Ik ben er bijna. Want wanneer ik nu de aray toepas op mijn gallery toont hij er maar 1 ipv de gehele array
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$array = array();
$gallery = './portfolio/bruiloften/';
if ($handle = opendir($gallery)) {
while (false !== ($file = readdir($handle))) {
if (($file !== '.')&&($file != '..'))
$array[] = $file;
}
closedir($handle);
}
shuffle($array);
foreach($array as $foto){
// echo $gallery.$foto;
//echo $foto;
}
?>
<div class="imageElement">
<h3><?php echo $foto; ?></h3>
<p></p>
<a href="<?php echo $gallery.$file; ?>" class="open"></a>
<div class="full"><?php echo $gallery.$foto; ?></div>
</div>
$array = array();
$gallery = './portfolio/bruiloften/';
if ($handle = opendir($gallery)) {
while (false !== ($file = readdir($handle))) {
if (($file !== '.')&&($file != '..'))
$array[] = $file;
}
closedir($handle);
}
shuffle($array);
foreach($array as $foto){
// echo $gallery.$foto;
//echo $foto;
}
?>
<div class="imageElement">
<h3><?php echo $foto; ?></h3>
<p></p>
<a href="<?php echo $gallery.$file; ?>" class="open"></a>
<div class="full"><?php echo $gallery.$foto; ?></div>
</div>
Want die loopt door de hele array heen.
Vandaar dat ik een echo had in de foreach.
Is jouw scriptje beter dan die van mij? Of komt het op hetzelfde neer?
Als mijn performance omhoog gaat zou ik het wel willen toepassen. Maar zit nog steeds met mijn vorige probleempje. De Array wordt maar 1 x getoond
S.
Ik snap m.. maar dat houd in dat ik nu dus
Code (php)
moet plaatsen?
Gewijzigd op 01/01/1970 01:00:00 door Stef Segers
Je kan het beste gewoon DOEN voor je het vraagt.
En pas als het fout loopt, alsnog navraag doen.
Gewijzigd op 01/01/1970 01:00:00 door Jelle Posthuma
Sorry, maar ik dacht dat je dat bedoelde.
Heb een aanpassing gedaan maar loop er toch op vast
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
shuffle($array);
foreach($array as $foto){
echo '<div class="imageElement">'
echo '<h3>'$foto'</h3>'
echo '<p></p>'
echo '<a href="'$gallery.$file'" class="open"></a>'
echo '<div class="full">'$gallery.$foto'</div>'
echo '</div>'
foreach($array as $foto){
echo '<div class="imageElement">'
echo '<h3>'$foto'</h3>'
echo '<p></p>'
echo '<a href="'$gallery.$file'" class="open"></a>'
echo '<div class="full">'$gallery.$foto'</div>'
echo '</div>'
Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in /home/lotsoflegs/html/stefansegers.nl/test.php on line 14
Gewijzigd op 01/01/1970 01:00:00 door Stef Segers
echo 'tekst';
En variables en strings plak je aan elkaar met een punt:
echo '<div class="full">' . $gallery.$foto . '</div>';
Probeer maar ff.
Kijk dat is nog eens goede uitleg!!!
Hartlijk dank voor je hulp.. het resultaat is te zien op www.stefansegers.nl
de bruiloften, reportage en lifestyle... random uitlezen van de gallery
TNX nogmaals!
Sexy layout! ;)
Ik vind het een nette layout maar toch even iets aan je menu doen denk ik qua kleur/lettertyp
Bedankt.. wat zou ik aan het menu moeten doen denk je dan? Heb nu Lucida Grande.. ziet er Puik uit op de Mac.... op windows iets minder..
Kleur is bewust gekozen bruin.....
Menu wordt nog uitgebreid met BLOG... us wordt wel iets groter nog...
Alle tips zijn welkom....
Op de mac ziet het er zo uit http://www.stefansegers.nl/menuss.png (screenshot)
Robin, tnx!!
Gewijzigd op 01/01/1970 01:00:00 door Stef Segers
Kan grafische foutjes wel zien maar niet oplossen.
strong mischien ? en een kleur die wel licht is maar NET NIET wit is #ffddff ofzo?
Ik denk eraan anders text->image replacement te gaan doen... dan weet ik zeker dat overal de fonts hetzelfde zijn... of is dat echt ver gezocht?
S.
sIFR is, mits met mate toegepast een prima oplossing, vind ik.
Ga eens met bold/strong aan de rotzooi :) denk dat dat een stuk beter word dan :)
Klopt.. maar Bold op de mac is lelijk.. op windows weer wel...
sIFR ziet er ook gaaf uit.. maar weet niet of dat voor mijn menu wel nuttig zal zijn...
Misschien een if IE css style maken ofzo?
Gewijzigd op 01/01/1970 01:00:00 door Stef Segers