Archief - PHP: Random script met links op fotos

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Pokereye

Legacy Member
Goeiemorgen allemaal !

Ik heb net een random imagescript geïntegreerd in nen website, maar nu zou ik voor elk prentje dat hij laat zien, daar nen link met uitleg bij willen zetten. Dus als hij een random prentje laat zien, dat de desbetreffende link mee op dat prentje komt te staan, dus zodra ik daar op klik dat ik dan uitleg krijg over dat prentje.

Kan ik op één of andere manier een prentje met nen link erbij opslaan als .gif of .jpg ? Of moet dit mee in het script zelfs aangepast worden ? Ken zelf weinig van php, vandaar mijn vraag aan de kenners hier ;)

Dit is de php code om random plaatjes te laten zien.


<?php

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1



//vul hier in welke folder je wilt gebruiken. als

//je deze script in dezelfde folder zet als je

//plaatjes hoef je hier niks aan te passen



$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. Hiervoor moet de GD module geinstalleerd

//zijn.



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_colorred = imagecolorallocate ($im, 255,0,0);

imagestring ($im, 5, 120, 5, "ERROR ", $text_colorred);

imagestring ($im, 5, 5, 25, "deze script geen plaatjes kan vinden", $text_colorred);

imagestring ($im, 3, 5, 100, "De oorzaak kan zijn:", $text_color);

imagestring ($im, 2, 5, 125, "1. de script kan geen plaatjes vinden met de jouw gekozen extensies", $text_color);

imagestring ($im, 2, 5, 150, "2. Er bevinden geen plaatjes in de directory: $folder", $text_color);



imagepng ($im);

imagedestroy($im);

}

}

?>

RpR

Legacy Member
Dan moet je met een db beginnen werken.
Wat dat dit doet is gewoon alle bestanden in een map bekijken.

Pokereye

Legacy Member
Oei, dat is minder want daar ken ik zelf niet veel van... Zou dit ergens gratis te downloaden zijn ? Alvast bedankt voor je reactie !

RpR

Legacy Member
dJeez zei:
Bedoel je nu gewoon een fotoalbum met bijhorende tekstjes? In dat geval zou ik 1 van de vele photo gallery PHP scripts aanraden, http://gallery.menalto.com is er een zeer degelijke.

Ik denk dat hij gewoon zo een random picture wil tonen. En als je erop klikt dat je naar een url gaat met meer info over de foto.

Pokereye

Legacy Member
RpR zei:
Ik denk dat hij gewoon zo een random picture wil tonen. En als je erop klikt dat je naar een url gaat met meer info over de foto.

Inderdaad, dit is de bedoeling. Moest jij ergens zo'n script weten te vinden, laat maar weten dan want voorlopig heb ik nog niets gevonden...

Disco_Dave

Legacy Member
Een mogelijke oplossing is het volgende:

maak een tekstbestand en zet er lijn per lijn de links in.

Met php kan je dit dan uitlezen

PHP:
<?php
	$Lines = file("links.txt");
	//Je kan zo alle lijnen overlopen
	$Lines[0] = "Link naar site 1";
	$Lines[1] = "Link naar site 2";
	$Lines[2] = "Link naar site 3";
	// Je kan dan gewoon de vereiste lijn outputten
	echo $Lines[1] // geeft dan "Link naar site 2";
?>

Zo weet je echter niet welke images er bij welke lijn horen. De makkelijke oplossing is gewoon je images 1.jpg, 2.jpg of whatever the noemen. Zo weet je dat je bij 1.jpg de line 1 moet afdrukken.

Pokereye

Legacy Member
Disco_Dave zei:
Een mogelijke oplossing is het volgende:

maak een tekstbestand en zet er lijn per lijn de links in.

Met php kan je dit dan uitlezen

PHP:
<?php
	$Lines = file("links.txt");
	//Je kan zo alle lijnen overlopen
	$Lines[0] = "Link naar site 1";
	$Lines[1] = "Link naar site 2";
	$Lines[2] = "Link naar site 3";
	// Je kan dan gewoon de vereiste lijn outputten
	echo $Lines[1] // geeft dan "Link naar site 2";
?>

Zo weet je echter niet welke images er bij welke lijn horen. De makkelijke oplossing is gewoon je images 1.jpg, 2.jpg of whatever the noemen. Zo weet je dat je bij 1.jpg de line 1 moet afdrukken.

Hartelijk dank, ga het in de namiddag meteen proberen ! Thx !!

Pokereye

Legacy Member
Krijg geen afbeelding te zien als ik uw scriptje mee in het random script zet. :(
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan