Random Plaatje uit Map

Door Thijs X, 19 jaar geleden, 8.514x bekeken

Nou spreekt voor zich lijkt mij het geeft een willekeurig plaatje weer uit de map die uitgelezen word.

Voorbeeld: http://php.ferket.net/random_plaatje.php

Gesponsorde koppelingen

PHP script bestanden

  1. random-plaatje-uit-map

 

Er zijn 30 reacties op 'Random plaatje uit map'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Thijs X
Thijs X
19 jaar geleden
 
0 +1 -0 -1
Ik zal er even een voorbeeld bij maken
- SanThe -
- SanThe -
19 jaar geleden
 
0 +1 -0 -1
$aantal = count($afbeelding);
geeft ook een 'leeg' plaatje. Gebruik:
$aantal = count($afbeelding) - 1;
Thijs X
Thijs X
19 jaar geleden
 
0 +1 -0 -1
Owja klopt thnx kzal het strax als ik op mn eigen pc ben ook even bij het voorbeeld aanpassen
Starlove
Starlove
19 jaar geleden
 
0 +1 -0 -1
hoi...

waar zet je de mapnaam en bestandsnaam ???
Jelmer -
Jelmer -
19 jaar geleden
 
0 +1 -0 -1
$dir = opendir('.');
Daar zet je de mapnaam in (dus ipv de punt)
Bestandsnaam hoeft natuurlijk niet.
Starlove
Starlove
19 jaar geleden
 
0 +1 -0 -1
is dat de enig plek die ik moet invullen... of zijn er nog meer plekken ??
Jelmer -
Jelmer -
19 jaar geleden
 
0 +1 -0 -1
Het is ook wel handig om de map ook in de img-tag voor de variabele te zetten :)
<img src=\"mapnaam/".$afbeelding[$rand]."\">"
Thijs X
Thijs X
19 jaar geleden
 
@ Starlove

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
<?
$map
= "./plaatjes/"; // De map van de plaatjes een . voor dezelfde map als waar dit bestand staat.

$dir = opendir($map);
// Haal de gegevens uit dir
while(false !== ($file = readdir($dir)))
{

    if(($file !== ".") && ($file !== ".."))
    {

        list($filename, $ext) = explode(".", $file);
        $ext = strtolower($ext);
        if(($ext == "jpg") || ($ext == "png") || ($ext == "gif"))
        {

            $afbeelding[] = $file;
        }
    }
}

closedir($dir);

// Telt aantal afbeeldingen in map en maakt een random getal uit dat aantal.
$aantal = count($afbeelding) - 1;
$rand = mt_rand(0, $aantal);
echo "<img src=\"".$map . $afbeelding[$rand]."\">";
?>
Robert
Robert
19 jaar geleden
 
0 +1 -0 -1
Bij mij als ik het hele script invoeg dan krijg ik dit te zien in ie :"; ?>
:S:S::S:S
Ik snap er niks van iemand een oplossing??

Groetjes
Thijs X
Thijs X
19 jaar geleden
 
0 +1 -0 -1
heb je hem wel .php gnoemt?
Pim Vernooij
Pim Vernooij
19 jaar geleden
 
0 +1 -0 -1
ik heb ook zoiets gemaakt, maar dan met database... je zet de links naar de plaatjes in de database en een alt tekst bij de plaatjes, dan haal je met een query een random plaatje uit de database (SELECT * FROM pics ORDER BY RAND())
Thijs X
Thijs X
19 jaar geleden
 
0 +1 -0 -1
@ Pim handig maar is het nie beetje dubbel werk? Moet je eerst alles database zettten en nu leest hij het gewoon uit de dir zelf. Alleen heb je dan geen alt text erbij.
Robert
Robert
19 jaar geleden
 
0 +1 -0 -1
Ik heb hem nu met een ander script gemaakt en alle plaatjes in .gif formaat
nu werkt het perfect!

Groetjes
Pim Vernooij
Pim Vernooij
19 jaar geleden
 
0 +1 -0 -1
@thijs: ik heb het geimplementeerd in mijn cms, bijvoorbeeld een sponsor systeem... De site admin kan via het cms een afbeelding uppen, zelf een alt tekst invoeren, dan komt het plaatje automatisch in de banner rotatie te staan, en hoef je geen rekening te houden met de namen van de bestanden... je kan zelfs afbeeldingen van andere sites in je rotatie opnemen :) ook kan je afbeeldingen op inactief zetten, en bijvoorbeeld na een paar dagen weer op actief zetten
Thijs X
Thijs X
19 jaar geleden
 
0 +1 -0 -1
Ah ok das dan wel weer relaxed :D maar dit is ook maar een simpel scriptje, maar zeer handig vind ik zelf
Pim Vernooij
Pim Vernooij
19 jaar geleden
 
0 +1 -0 -1
bij dat script van mij kan je eventueel ook nog inbouwen dat er een link van het plaatje wordt gemaakt, handig voor sponsors zoals ik in mijn vorige post zei :) tis heel simpel, de implementatie in het cms is niet eens nodig :) zal het een keer opzoeken en posten... is alweer tijd geleden
Remco
Remco
19 jaar geleden
 
0 +1 -0 -1
Pim, heb je het script al kunnen vinden? Ben wel benieuwd eigenlijk
Steven Pollux
Steven Pollux
19 jaar geleden
 
0 +1 -0 -1
Remco, wat dacht je van het volgende:
$definitief = $afbeelding[$rand]

echo '<a href="'.$map.'/'.$definitief.'"><img src="'.$map.'/'.$definitief.'"></a>';
Cake Masher
Cake Masher
18 jaar geleden
 
0 +1 -0 -1
Mooi script.
In een klijnere versie alleen wel het naadeel dat je de plaatjes nummers moet geven is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$b
= "jpg";          //aan passen als het nodig is
$r = rand(0, 5);   //5 is hoe veel plaatjes in de map staan
$m = "Images";   //Map naam
echo "<img src=$m/$r.$b>";
?>


map hoeft niet persee.
Voor de mensen die niet zo goed in php zijn:
haal $m = "Images"; weg en verander <img src=$m/$r.$b> naar <img src=$r.#b>

Zouden wel eens fouten in kunne zitten :)
( heb ik altijd als ik zelf een script maak :P )
Markvm
Markvm
18 jaar geleden
 
0 +1 -0 -1
Bedankt, werkt prima! Zie http://www.kietlekmichdezuk.nl/

Maar nu heb ik een vraagje.. is het mogelijk om een link te plaatsen zodat hij naar een vergroot plaatje doorlinkt bv:

random gekozen plaatje 1.jpg naar http://foto.kietlekmichdezuk.nl/index.php?gallery=./Mokkels&image=1.jpg
random gekozen plaatje 2.jpg naar http://foto.kietlekmichdezuk.nl/index.php?gallery=./Mokkels&image=2.jpg
etc...

Dus wanneer je op http://www.kietlekmichdezuk.nl/ op het mokkels plaatje klikt dat ie wordt doorgelinkt naar hetzelfde plaatje op http://foto.kietlekmichdezuk.nl/

Bvd!
Remco
remco
18 jaar geleden
 
0 +1 -0 -1
Mooi script maar ik krijg nog geen afbeelding te zien.
Hij geeft de volgende errors:
Notice: Undefined offset: 1 in /home/www/forza-heerenveen.com/fotoalbum/randomimage.php on line 13

Notice: Undefined offset: 1 in /home/www/forza-heerenveen.com/fotoalbum/randomimage.php on line 13

het 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
<?php
error_reporting(E_ALL);
$map = array('fotoalbum/fotoalbum/spandoek', 'fotoalbum/fotoalbum/SCH-WII');
$aantal = count($map) - 1;
$nmr = rand(0,$aantal);
$dir = opendir($map[$nmr]);

// Haal de gegevens uit dir
while(false !== ($file = readdir($dir)))
{

    if(($file !== ".") && ($file !== ".."))
    {

        list($filename, $ext) = explode(".", $file);
        $ext = strtolower($ext);
        if(($ext == "jpg") || ($ext == "png") || ($ext == "gif"))
        {

            $afbeelding[] = $file;
        }
    }
}

closedir($dir);

// Telt aantal afbeeldingen in map en maakt een random getal uit dat aantal.
$aantal = count($afbeelding) - 1;
$rand = mt_rand(0, $aantal);
echo '<img src="'.$map[$nmr].$afbeelding[$rand].'">';
?>


weet iemand hoe dit kan.

Alvast bedankt voor de moeite

@EDIT: Ik ben er al achter was de '/' vergeten achter de mapnamen in $map.
Steffen
Steffen
18 jaar geleden
 
0 +1 -0 -1
Super! Simpel, maar het werkt prima (IE en FF).
Thnx!
Rene Wennekes
Rene Wennekes
17 jaar geleden
 
Ik heb een beetje css toegevoegd. Nu kun je de achtergrond laten wijzigen. Je moet zelf even de positie van de achtergrond wijzigen en of het fixed is of niet (zou ook nog met een variable kunnen).

Mvg,

Rene


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
<?php
$map
= "backgnds"; // De map van de plaatjes een . voor dezelfde map als waar dit bestand staat.

$dir = opendir($map);
// Haal de gegevens uit dir
while(false !== ($file = readdir($dir)))
{

    if(($file !== ".") && ($file !== ".."))
    {

        list($filename, $ext) = explode(".", $file);
        $ext = strtolower($ext);
        if(($ext == "jpg") || ($ext == "png") || ($ext == "gif"))
        {

            $afbeelding[] = $file;
        }
    }
}

closedir($dir);

// Telt aantal afbeeldingen in map en maakt een random getal uit dat aantal.
$aantal = count($afbeelding) - 1;
$rand = mt_rand(0, $aantal);

echo '<style type="text/css">

body
{
background: #000000 url(\''
.$map.'/'.$afbeelding[$rand].'\');
background-repeat:  no-repeat;
background-attachment: fixed
}
</style>'
;
?>
Thomass
thomass
15 jaar geleden
 
0 +1 -0 -1
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
<?
$dir
= opendir('.');

// Haal de gegevens uit dir
while(false !== ($file = readdir($dir)))
{

    if(($file !== ".") && ($file !== ".."))
    {

        list($filename, $ext) = explode(".", $file);
        $ext = strtolower($ext);
        if(($ext == "jpg") || ($ext == "png") || ($ext == "gif"))
        {

            $afbeelding[] = $file;
        }
    }
}

closedir($dir);

// Telt aantal afbeeldingen in map en maakt een random getal uit dat aantal.
$aantal = count($afbeelding) - 1;
$rand = mt_rand(0, $aantal);
echo "<img src=\"".$afbeelding[$rand]."\">";
?>


Ik wil alleen plaatjes met de benaming tumbs*.* laten zien. Ik heb van alles geprobeerd, maar niets werkt! Wie kan mij helpen? Thx!
J C
J C
15 jaar geleden
 
0 +1 -0 -1
verwijderd. Ga op zoek naar een ander script
Chris dodenwaard
chris dodenwaard
11 jaar geleden
 
0 +1 -0 -1
Weet iemand hoe je het bijv. width 125 height 125 word weergegeven ?
Wouter J
Wouter J
11 jaar geleden
 
0 +1 -0 -1
Door met CSS de img tag te stijlen en hem hiermee een width en height te geven.
Php knipper
php knipper
11 jaar geleden
 
0 +1 -1 -1
normaal is dit script al een beetje oud maar...
verander regel 22 in
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo '<img src=".$afbeelding[$rand]." height="125" width="125">';

Normaal gezien is dat wat je zocht.
Wouter J
Wouter J
11 jaar geleden
 
@php knipper, naar mijn mening 2 fouten:
1) De code is oud, maar als je in de code kijkt had hij ook nu geschreven kunnen worden. Niks mis mee
2) NOOIT aanraden om inline CSS te gebruiken.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Php knipper
php knipper
11 jaar geleden
 
0 +1 -0 -1
@Wouter J,
1) de code is oud , dat heb ik ook gezegd. Ik heb niet gezegd dat het een slechte code is. Tevens gebruik ik ongeveer hetzelfde.

2) ik ken "chris G" niet. Hoe kan ik dan ruiken of hij css kan / kent? ( Volgens mij als je css kent dan was die vraag overbodig )

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

Inhoudsopgave

  1. random-plaatje-uit-map

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.