[SOLVED] uitlezen directory en random weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Stef Segers

Stef Segers

26/02/2008 21:11:00
Quote Anchor link
Hey allen,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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);
              }

             ?>
Gewijzigd op 01/01/1970 01:00:00 door Stef Segers
 
PHP hulp

PHP hulp

27/11/2024 06:24:18
 
Bart van der veen

bart van der veen

26/02/2008 21:17:00
Quote Anchor link
in een array kieperen (array_push) en dan random (shuffle)

zie php.net voor meer info, leuk oefen projectje voor array's
 
Stef Segers

Stef Segers

27/02/2008 08:26:00
Quote Anchor link
Ik ben niet zo'n php-er. Na veel speurwerk ben ik tot dit script gekomen maar wanneer je m uitvoert ziet je dat het niet werkt

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$array
= array();
$gallery = './portfolio/bruiloften/';
 if ($handle = opendir($gallery)) {
 while (false !== ($file = readdir($handle))) {
 if (($file !== '.')&&($file != '..'))
 $array[] = $file;
 shuffle($array);
 {
?>

 <?php echo $gallery.$file; ?>"><br>            
 <?php }
  }

  closedir($handle);
  }

?>


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.
 
Jelle Posthuma

Jelle Posthuma

27/02/2008 08:50:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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;
}

?>


Iets als dit?
 
Robert Deiman

Robert Deiman

27/02/2008 09:01:00
Quote Anchor link
Stef, in PHP heb je ook de handige Glob functie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
  $gallery
= './portfolio/bruiloften/';
  foreach (array_merge(glob($gallery."*.jpg"),glob($gallery."*.png")) as $filename) {
      $files[] = $filename;
      }
  
    shuffle($files);
    foreach($files as $foto){
        echo $gallery.$foto;
        }

?>
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 
Stef Segers

Stef Segers

27/02/2008 09:01:00
Quote Anchor link
Hey Jelle,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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>
 
Jelle Posthuma

Jelle Posthuma

27/02/2008 09:02:00
Quote Anchor link
Je moet ook de output in de foreach draaien.
Want die loopt door de hele array heen.

Vandaar dat ik een echo had in de foreach.
 
Stef Segers

Stef Segers

27/02/2008 09:03:00
Quote Anchor link
Hey Robert,

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.
 
Stef Segers

Stef Segers

27/02/2008 09:05:00
Quote Anchor link
Hey Jelle,

Ik snap m.. maar dat houd in dat ik nu dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
echo '<div class="imageElement">'
echo <h3><?php echo $foto; ?></h3>
echo <p></p>
echo  <a href="<?php echo $gallery.$file; ?>" class="open"></a>
echo  <div class="full"><?php echo $gallery.$foto; ?></div>
echo </div>

moet plaatsen?
Gewijzigd op 01/01/1970 01:00:00 door Stef Segers
 
Jelle Posthuma

Jelle Posthuma

27/02/2008 09:05:00
Quote Anchor link
Als dat zo werkt bij jouw...
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
 
Stef Segers

Stef Segers

27/02/2008 09:09:00
Quote Anchor link
Hey Jelle,

Sorry, maar ik dacht dat je dat bedoelde.

Heb een aanpassing gedaan maar loop er toch op vast

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>'


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
 
Jelle Posthuma

Jelle Posthuma

27/02/2008 09:12:00
Quote Anchor link
Komt omdat jij geen enkele echo afsluit met een semicolon. ( ; )

echo 'tekst';

En variables en strings plak je aan elkaar met een punt:

echo '<div class="full">' . $gallery.$foto . '</div>';

Probeer maar ff.
 
Stef Segers

Stef Segers

27/02/2008 09:16:00
Quote Anchor link
Hey Jelle,

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!
 
Aaa Trump

aaa Trump

27/02/2008 09:17:00
Quote Anchor link
Sexy layout! ;)
 
Jacco Engel

Jacco Engel

27/02/2008 09:19:00
Quote Anchor link
Ik vind het een nette layout maar toch even iets aan je menu doen denk ik qua kleur/lettertyp
 
Stef Segers

Stef Segers

27/02/2008 09:22:00
Quote Anchor link
Hey Jacco,

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
 
Jacco Engel

Jacco Engel

27/02/2008 09:31:00
Quote Anchor link
Sorry...

Kan grafische foutjes wel zien maar niet oplossen.

strong mischien ? en een kleur die wel licht is maar NET NIET wit is #ffddff ofzo?
 
Stef Segers

Stef Segers

27/02/2008 09:44:00
Quote Anchor link
Ik zie dat wanneer het font klein en dun is dan wordt wit niet mooi... wanneer je het op de mac bekijkt ziet het er puik uit..

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.
 
Jan Koehoorn

Jan Koehoorn

27/02/2008 09:49:00
Quote Anchor link
sIFR is, mits met mate toegepast een prima oplossing, vind ik.
 
Jacco Engel

Jacco Engel

27/02/2008 09:50:00
Quote Anchor link
Ga eens met bold/strong aan de rotzooi :) denk dat dat een stuk beter word dan :)
 
Stef Segers

Stef Segers

27/02/2008 09:50:00
Quote Anchor link
Hey Jacco,

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
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.