Gå til innhold

Liste opp alle bilder i en mappe


Anbefalte innlegg

Jeg holder på å lage et bilde gallery i php. Jeg vil liste opp alle bildene i en mappe.

Foreløpelig har jeg greid å liste alle filene, men jeg vil gjerne bare vise bildene.

 

<?php

$dir = "../upload/files/";

if (is_dir($dir))
{
if ($dh = opendir($dir))
{
	while (($file = readdir($dh)) !== false)
	{
		echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
		echo "<img src=\"$dir$file\">";
	}
	closedir($dh);
}
}

?>

Lenke til kommentar
Videoannonse
Annonse

Merk at dette kun sjekker filendelser. Hvorvidt det faktisk er et bilde er ikke sikkert.

 

<?php

function FilterImages ( $file ) {
	$images = array ( 'gif', 'png', 'bmp', 'jpg', 'jpeg' );
	return in_array ( strtolower ( pathinfo ( $file, PATHINFO_EXTENSION ) ), $images );
}

$files = glob ( '../upload/files/*' );
$images = array_filter ( $files, 'FilterImages' );

foreach ( $images as $image ) {
	// 1 .. 2 .. 3
}

?>

Edit: Fant nettopp ut av glob() er litt smartere enn som så. Kanskje dette funker.

 

<?php

$images = glob ( '../upload/files/*.{gif, png, bmp, jpg, jpeg}', GLOB_BRACE );

foreach ( $images as $image ) {
	// 1 .. 2 .. 3
}

?>

Endret av Jonas
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...