Random plaatje
Auteur: rednl - 12 januari 2006 - 13:10 - Gekeurd door: nemesiskoen - Hits: 5008 - Aantal punten: 3.00 (2 stemmen)
Een script waarmee je een plaatje uit een map random kan kiezen, deze kan ook kiezen op tijd. Dus:
Tussen 18:00 - 23:59 gebruik de map "avond" in "images/"
Tussen 0:00 - 5:59 gebruik de map "nacht" in "images/"
Tussen 6:00 - 17:59 gebruik de map "dag" in "images/"
Ook kan je de extensies van je bestanden aanpassen naar jouw wensen.
Code:
<?php
// Geschreven door: REDnl
// Naam script: Random Image Picker with time
// Versie: v 2.0
// Datum laatste update: 09-01-2006
//NoCache
header("Cache-Control: no-cache, must-revalidate");
//Tijd script => map
if(date(G) >= 18){
$random_map = "avond/";
}
elseif(date(G) <= 5) {
$random_map = "nacht/";
}
else {
$random_map = "dag";
}
//Locatie mappen dag/avond/nacht
$locatie = "images/".$random_map."";
$folder = $locatie; // vervang $loactie als je maar een map wilt gebruiken
//extenties waar je op wilt zoeken
$extList = array();
$extList['gif'] = 'image/gif';
$extList['jpg'] = 'image/jpg';
$extList['jpeg'] = 'image/jpeg';
$extList['png'] = 'image/png';
//!!!Hierna alleen veranderen als je zeker weet wat je doet!!!
//Begin random picking
$img = null;
if(substr($folder,-1) != '/') {
$folder = $folder.'/';
}
if (isset($_GET['img'])) {
$imageInfo = pathinfo($_GET['img']);
if(isset($extList[ strtolower( $imageInfo['extension'] ) ] ) ) {
$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);
}
//Als deze script geen plaatjes heeft gevonden in de map dan wordt de GD module gebruikt
//om een error te maken.
else {
if (function_exists('imagecreate') ) {
header ("Content-type: image/png");
$im = @imagecreate (400, 200)
or die ("GD module kon niet geladen worden");
$background_color = imagecolorallocate ($img, 255, 255, 255);
$text_color = imagecolorallocate ($img, 0, 0, 0);
$text_red = imagecolorallocate ($img, 255, 0, 0);
imagestring ($im, 5, 120, 5, "ERROR ", $text_red);
imagestring ($im, 5, 5, 25, "deze script kan geen plaatje vinden", $text_red);
imagestring ($im, 3, 5, 100, "De oorzaak kan zijn:", $text_color);
imagestring ($im, 2, 5, 125, "1. Geen plaatjes in de map (directory: $folder)", $text_color);
imagestring ($im, 2, 5, 150, "2. Verkeerde extensies gebruikt.", $text_color);
imagepng ($im);
imagedestroy($im);
}
}
//Einde scritpt
?>
<?php
// Geschreven door: REDnl
// Naam script: Random Image Picker with time
// Versie: v 2.0
// Datum laatste update: 09-01-2006
//NoCache
header ( "Cache-Control: no-cache, must-revalidate" ) ;
//Tijd script => map
$random_map = "avond/" ;
}
$random_map = "nacht/" ;
}
else {
$random_map = "dag" ;
}
//Locatie mappen dag/avond/nacht
$locatie = "images/" . $random_map . "" ;
$folder = $locatie ; // vervang $loactie als je maar een map wilt gebruiken
//extenties waar je op wilt zoeken
$extList [ 'gif' ] = 'image/gif' ;
$extList [ 'jpg' ] = 'image/jpg' ;
$extList [ 'jpeg' ] = 'image/jpeg' ;
$extList [ 'png' ] = 'image/png' ;
//!!!Hierna alleen veranderen als je zeker weet wat je doet!!!
//Begin random picking
$img = null ;
if ( substr ( $folder ,- 1 ) != '/' ) { $folder = $folder . '/' ;
}
if ( isset ( $_GET [ 'img' ] ) ) { $img = $folder . $imageInfo [ 'basename' ] ;
}
}
else {
while ( false !== ( $file = readdir ( $handle ) ) ) { $fileList [ ] = $file ;
}
}
if ( count ( $fileList ) > 0 ) { $img = $folder . $fileList [ $imageNumber ] ;
}
}
if ( $img != null ) {
$contentType = 'Content-type: ' . $extList [ $imageInfo [ 'extension' ] ] ;
}
//Als deze script geen plaatjes heeft gevonden in de map dan wordt de GD module gebruikt
//om een error te maken.
else {
header ( "Content-type: image/png" ) ; $im = @ imagecreate ( 400 , 200 )
or
die ( "GD module kon niet geladen worden" ) ;
$background_color = imagecolorallocate ( $img , 255 , 255 , 255 ) ;
$text_color = imagecolorallocate ( $img , 0 , 0 , 0 ) ;
$text_red = imagecolorallocate ( $img , 255 , 0 , 0 ) ;
imagestring ( $im , 5 , 120 , 5 , "ERROR " , $text_red ) ;
imagestring ( $im , 5 , 5 , 25 , "deze script kan geen plaatje vinden" , $text_red ) ;
imagestring ( $im , 3 , 5 , 100 , "De oorzaak kan zijn:" , $text_color ) ;
imagestring ( $im , 2 , 5 , 125 , "1. Geen plaatjes in de map (directory: $folder )" , $text_color ) ;
imagestring ( $im , 2 , 5 , 150 , "2. Verkeerde extensies gebruikt." , $text_color ) ;
imagepng ( $im ) ;
imagedestroy( $im ) ;
}
}
//Einde scritpt
?>
Download code (.txt)
Stemmen
Niet ingelogd.