Archief - PHP: Alle foto's weergeven in een bepaalde directory...

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.

Mr. Dingsken

Legacy Member
Ik maak met een scriptje een directory aan en plaats daarin alle foto's van een bepaalde gebeurtenis nu wil ik die terug gaan inlezen en loopt het mis

Can someone help me out?

sneax

Legacy Member
- ge specifieerd het path nr den directory

- ge specifieer den URL naar dienen directory

- ge specifeerd de geldige extensies voor foto's (jpg,gif,png etc...)

- ge doorloopt de directory structuur, de files die '.' en '..' noemen die slaat ge over, de files die met extensie .jpg of .gif of .png eindigen zijn images en kunt ge dus laten zien

- maakt de URL door de direcory URL aan de filename te plakken

killgore

Legacy Member
sneax zei:
- ge specifieerd het path nr den directory

- ge specifieer den URL naar dienen directory

- ge specifeerd de geldige extensies voor foto's (jpg,gif,png etc...)

- ge doorloopt de directory structuur, de files die '.' en '..' noemen die slaat ge over, de files die met extensie .jpg of .gif of .png eindigen zijn images en kunt ge dus laten zien

- maakt de URL door de direcory URL aan de filename te plakken

zoiets dus:

PHP:
$directory = opendir("directory");
$extensions = array("jpg","png","jpeg","jpg");
while($file = readdir($directory))
{
	$file_is_image = false;
	foreach($extensions AS $ext)
	{
		if(substr($file,-strlen($ext))==$ext)
		{
			$file_is_image = true;
		}
	}
	if(!$file_is_image)
	{
		continue;
	}
	//Jouw handelingen voor de afbeelding
}

zero2one

Legacy Member
kan korter en minder belastend voor server bij vele files (veel minder loops):

PHP:
<?php
$directory = opendir("directory"); 

$extensions = array("gif","jpg","png","jpeg"); 

while($file = readdir($directory)) 
	{
	$check_type = substr(strrchr($file, "."), 1);
	
	if ( in_array($check_type,$extensions) )
        { 
        echo "is afbeelding<br>";
        } 
	else
		{
		echo "geen afbeelding<br>";
		}
	}
?>

killgore

Legacy Member
Eh, ik ben niet achterlijk en heb die methode ook overwogen (want lussen moet je zoveel mogelijk vermeiden), maar het geeft enkel problemen met bestanden als a.b.gif .
edit: zero2one toch gelijk, zie onder

zero2one

Legacy Member
Eh, ik ben niet achterlijk en heb die methode ook overwogen (want lussen moet je zoveel mogelijk vermeiden), maar het geeft enkel problemen met bestanden als a.b.gif .

substr(strrchr($file, "."), 1);

zoekt dus laatste puntje op en neemt alles na dat puntje als filetype !!

werkt dus wel met files als a.d.g.d.z.t.h.jpg enz...

killgore

Legacy Member
zero2one zei:
substr(strrchr($file, "."), 1);

zoekt dus laatste puntje op en neemt alles na dat puntje als filetype !!

wekrt dus wel met files als a.d.g.d.z.t.h.jpg enz...
srry, in de manual stond dat strchr = alias van strstr (dat wel de first occurence zoekt), my fault dus ;), dan is het jouwe idd beter :).
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