random plaatje

Door Ano Niem, 24 jaar geleden, 6.259x bekeken

Als je bijv. elke keer een ander plaatje als avatar wilt kun je dit script mooi gebruiken.
Zet in de directory waar dit script staat een aantal plaatjes die je 1.jpg 2.jpg 3.jpg 4.jpg en 5.jpg noemt,
roep het script aan als een normaal plaatje
<img src="http://www.jousite.ext/plaatje.php">

Voorbeeld: http://

Gesponsorde koppelingen

PHP script bestanden

  1. random-plaatje

 

Er zijn 20 reacties op 'Random plaatje'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Mitch X
Mitch X
24 jaar geleden
 
0 +1 -0 -1
header ("Content-type: image/jpeg");
moet dat niet zijn image/png?
Eris -
Eris -
24 jaar geleden
 
0 +1 -0 -1
Ja in dit voorbeeld wel ;)

Maar dit systeem vreet resourses

Waarom geen script
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$nummer
= rand(1,5);
if(file_exists("dir/to/pic".$nummer.".php")){
echo "<img src=\"dir/to/pic".$nummer.".php\"/>";
}

else{
echo "kan plaatje niet vinden";
}

?>


Dit scheelt 100% phrase time
wat op een druke website verstandig is ;)
Bram Z
Bram Z
24 jaar geleden
 
0 +1 -0 -1
IS wel handig


24 jaar geleden
 
0 +1 -0 -1
erg basic hoor,
maak een dir aan, list alle jpg, jpeg, gif etc en loop over de bestandsnamen en display die hap.
Robin
Robin
24 jaar geleden
 
0 +1 -0 -1
Oplossing simpel:

<img src = "
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?printf(mt_rand(1,4))?>
.jpg">

Plaats in (LET OP:) zelfde map als je pagina's de plaatjes, en noem ze bijvoorbeeld gewoon 1 t/m welk nummer je als laatste wil gebruiken.
Rick
Rick
24 jaar geleden
 
0 +1 -0 -1
<img src = "
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=rand(1,4)?>
.jpg" alt="plaatje" />


24 jaar geleden
 
0 +1 -0 -1
Hallo, even het volgende: 'roep het script aan als een normaal plaatje
<img src="http://www.jousite.ext/plaatje.php">

Wat is hier dat .ext ? en wat is het bestand plaatje.php ?
SerpenT
SerpenT
24 jaar geleden
 
0 +1 -0 -1
".ext" kan dus alles zijn van .nl tot tk en .co.uk en het bestand plaatje.php is een bestand waar de code instaat die sickness heeft gegeven


23 jaar geleden
 
0 +1 -0 -1
Is het ook mogelijk om aan elk plaatje een andere link te koppelen?
Wie weet dat?


23 jaar geleden
 
0 +1 -0 -1
En hoe kan je het bijvoorbeeld zo maken dat je een rij krijgt van 900px die zich met verschillende afbeeldingen vult uit een db..
Marijn
Marijn
23 jaar geleden
 
0 +1 -0 -1
En hoe kan je het bijvoorbeeld zo maken dat je een rij krijgt van 900px die zich met verschillende afbeeldingen vult uit een db..


23 jaar geleden
 
0 +1 -0 -1
<img src = "
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?printf(mt_rand(1,4))?>
.jpg">

Dat kan dus niet als je het als bijvoorbeeld je avater op een forum wilt laten zien, bijv Fok ofzo. daarom werkt dat script wel goed daarvoor.


23 jaar geleden
 
0 +1 -0 -1
hoe zorg je ervoor dat als een plaatje al geweest is niet meer komt?


22 jaar geleden
 
0 +1 -0 -1
het werkt wel maar als ik de <img src="http://www.jousite.ext/plaatje.php"> in mijn index.htm zet komt er tseeds een rood kruisje wat kan ik daar aan veranderen?
Jelmer -
Jelmer -
22 jaar geleden
 
0 +1 -0 -1
Ga eens naar het adres van het plaatje, of probeer het op te slaan, en dan te openen met notepad. Grote kans dat je daar een foutmelding ziet.


22 jaar geleden
 
0 +1 -0 -1
Ik wil graag een dergelijke veranderende avatar voor op Fok, maar met beide stukjes code hierboven kom ik er niet uit. (nu ben ik hier ook een absolute leek mee, puur copy-paste avontuur). Ik heb op mijn ruimte bij planet een mapje aangemaakt, daar de code in een tekstbestandje met de extensie php ingekwakt en hem gezelschap van 5 plaatjes gegeven. Toch gaat het fout. Wat doe ik verkeerd?
Dennis S
Dennis S
22 jaar geleden
 
0 +1 -0 -1
een script die ik gebruik bij het random pakken van de plaatjes (in dit geval je avater) je zet deze script in je folder met je plaatjes en deze zoekt dan naar alle plaatje. Het enigste wat je aan moet geven is op welke extensies je de script wil laten zoeken naar plaatjes.

En om het plaatje te late zien in je html content gebruik je dit:
<img src="image.php" />

de php script:

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
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
76
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1

    $folder = '.';

//kies hier op welke extensies je wilt zoeken
    $extList = array();
    $extList['gif'] = 'image/gif';
    $extList['jpg'] = 'image/jpeg';
    $extList['jpeg'] = 'image/jpeg';
    $extList['png'] = 'image/png';


$img = null;


if (substr($folder,-1) != '/') {
    $folder = $folder.'/';
}



if (isset($_GET['img'])) {
    $imageInfo = pathinfo($_GET['img']);
    if (
        isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
        file_exists( $folder.$imageInfo['basename'] )
) {

    $img = $folder.$imageInfo['basename'];
}
}
else {
    $fileList = array();
    $handle = opendir($folder);
    while ( false !== ( $file = readdir($handle) ) ) {
        $file_info = pathinfo($file);
        if (
            isset( $extList[ strtolower( $file_info['extension'] ) ] )
) {

            $fileList[] = $file;
        }
    }

    closedir($handle);


    if (count($fileList) > 0) {
        $imageNumber = time() % count($fileList);
        $img = $folder.$fileList[$imageNumber];
    }
}

if ($img!=null) {
    $imageInfo = pathinfo($img);
    $contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
    header ($contentType);
    readfile($img);
}
else {


   //hieronder wordt de GD module gebruikt om een plaatje te maken met een error als deze script geen plaatjes kan vinden. De GD module is tegewoordig meegeleverd met de nieuwste php versies, je moet alleen deze even activeren in je php.ini bestand. (gd module heet meestal php_gd2.dll)
    
    if ( function_exists('imagecreate') ) {
        header ("Content-type: image/png");
        $im = @imagecreate (400, 200)
            or die ("Cannot initialize new GD image stream");
        $background_color = imagecolorallocate ($im, 255, 255, 255);
        $text_color = imagecolorallocate ($im, 0,0,0);
        $text_colorr = imagecolorallocate ($im, 255,0,0);
        imagestring ($im, 5, 5, 5, "ERROR, deze error kan voorkomen als deze ", $text_colorr);
        imagestring ($im, 5, 5, 25, "script geen plaatjes kan vinden", $text_colorr);
        imagestring ($im, 3, 5, 100, "Door oorzaak kan zijn:", $text_color);
        imagestring ($im, 2, 5, 125, "1. de script kan geen plaatjes vinden met jou gewenste extensies", $text_color);
        imagestring ($im, 2, 5, 150, "2. Er bevinden geen plaatjes in de directory", $text_color);
        
        imagepng ($im);
        imagedestroy($im);
    }
}

?>
Derk nvt
Derk nvt
22 jaar geleden
 
0 +1 -0 -1
Het jammere aan dit script is dat je hier niks aan hebt bij een PHPbb forum. PHPbb staat namenlijk alleen .jpg .gif en .png toe als plaatjes
H. Fokker
H. Fokker
20 jaar geleden
 
0 +1 -0 -1
Ik gebruik het script van rednl en dit werkt uitstekend. Nu probeer ik het zo aan te passen dat het ook subdirs uitleest en dat krijg ik maar niet voor elkaar.

Ik gebruik nu dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if(!empty($_GET['dir'])) { $folder = $_GET['dir'].'/'; }
else { $folder = ''; }
?>


Heeft iemand een tip?
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Crude Oil
Crude Oil
18 jaar geleden
 
0 +1 -0 -1
Ik gebruik dit scrippie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$nummer
= rand(0,9); // 10 verschillende afbeeldingen (afbeelding 0 t/m 9)
$afbeelding = array("button1.gif", "button2.gif", "button3.gif","button4.gif","button5.gif","button6.gif","button7.gif","button8.gif","button9.gif","foogle.jpg"); //Namen van de 10 afbeeldigen
?>

<img src="img/<?php echo $afbeelding[$nummer]; ?>">

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. random-plaatje

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.