[PHP] Random image

Pagina: 1
Acties:
  • 43 views sinds 30-01-2008

  • Majestic
  • Registratie: December 1999
  • Laatst online: 19-05 20:54

Majestic

Neerlandici.

Topicstarter
Op een IIS bak met PHP 4.3.1 laat ik het volgende script draaien:

code:
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
<?php  

// print a random image.  Don't forget ending slash!
// setting $type to 'all' will return all images.

print getRandomImage('images/'); 

function getRandomImage($dir,$type='random')
{ 
global $errors; 

  if (is_dir($dir)) {  

  $fd = opendir($dir);  
  $images = array(); 

      while (($part = @readdir($fd)) == true) {  

      clearstatcache();

          if ( eregi("(gif|jpg|png|jpeg)$",$part) ) {
              $images[] = $part; 
          } 
      } 

    // adding this in case you want to return the image array
    if ($type == 'all') { return $images; }

    // Be sure to call srand() once per script
    srand ((double) microtime() * 1000000); 
    $key = rand (0,sizeof($images)-1); 

    return $dir . $images[$key]; 

  } else { 
      $errors[] = $dir.' is not a directory'; 
      return false; 
  } 
} 

?>


Als output krijg ik nu images/2.jpg, images/1.jpg en images/3.jpg randomized.
Hoe zorg ik er nu voor dat deze output in de img scr="" tag verschijnt.

Redelijke newbie vraag, al zeg ik het zelf..

Je brengt me helemaal van mijn abrikoos.


  • TRON
  • Registratie: September 2001
  • Laatst online: 16-08 07:26
_/-\o_
PHP:
1
2
3
<?
echo "[img]\"".$dir.$images[$key]."\">";
?[/img]

[ Voor 77% gewijzigd door TRON op 10-03-2003 19:46 ]

Leren door te strijden? Dat doe je op CTFSpel.nl. Vraag een gratis proefpakket aan t.w.v. EUR 50 (excl. BTW)


  • Majestic
  • Registratie: December 1999
  • Laatst online: 19-05 20:54

Majestic

Neerlandici.

Topicstarter
Nee dat had ik ook al geprobeerd.
Krijg ik steeds een rood kruisje. -> image niet gevonden.

Je brengt me helemaal van mijn abrikoos.


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23-08 10:39

Janoz

Moderator Devschuur®

!litemod

Nou.. je weet wel hoe je alleen het bestand moet printen, maar je weet niet hoe je er achter zet? Dan ben ik er vrij zeker van dat je bovenstaande code ook niet zelf gemaakt hebt. P&W is niet bedoeld als helpdesk of support voor scripts van derden (zoals ook in de regelgeving is te zien).

Daarnaast zul je, om gebruik te kunnen maken van een echt random image, zoals een icoon hier op GoT een andere benadering moeten gebruiken. Dan heb je namelijk weinig aan het afdrukken van de bestandslocatie of het opnemen ervan in een image tag.

Verder is het vaak ook handig om ff in de gegenereerde source te kijken om te zien of daar wel staat wat je verwacht

[ Voor 11% gewijzigd door Janoz op 10-03-2003 19:50 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Dit topic is gesloten.