Gå til innhold

Liste opp bilder med php


Anbefalte innlegg

Jeg beklager om dette er et tema som er tatt opp tidligere, men å søke på bilder eller galleri var ganske håpløst..

 

Jeg er helt fersk med php og skulle gjerne hatt en ferdig kode som enkelt lar meg publisere bilder i en liste direkte fra en mappe. Jeg har funnet et par eksempler, problemet er bare at jeg gjerne skulle ha linket bildene videre til andre sider. De ferdige kodene jeg finner er alle enten gallerier, slideshows eller på andre måter ikke egnet til mitt bruk. Jeg ønsker at bildene skal dukke opp i en liste under hverandre og ligge statisk(oppdateres når jeg bytter ut bildene i mappen på serveren).

 

Er det noen som vet hvor jeg kan finne noe slikt ferdig til bruk?

Lenke til kommentar
Videoannonse
Annonse

Liste ut kun bilder fra en gitt mappe:

<?php
// Hvilken mappe ligger bildene i
$dir = "images/";

// Hver eneste bildefil
foreach(glob("$dir/{*.jpg,*.JPG,*.gif,*.GIF,*.png,*.PNG,*.jpeg,*.JPEG}", GLOB_BRACE) as $file) {

       // Penere navn på linken
       $path_parts = pathinfo($file);
       $filetitle = $path_parts['basename'];

// Spytt ut link
       echo "<a href='{$dir}/{$filetitle}' > {$filetitle} </a><br />";
}
?>

 

Hvordan linke til andre sider mener du?

Endret av sxxxe83
Lenke til kommentar

Eller:

<?php
// Hvilken mappe ligger bildene i
if(isset($_GET['dir'])) {

$dir = "{$_GET['dir']}/";

// Hver eneste bildefil
foreach(glob("$dir/{*.jpg,*.JPG,*.gif,*.GIF,*.png,*.PNG,*.jpeg,*.JPEG}", GLOB_BRACE) as $file) {

       	// Penere navn på linken
       	$path_parts = pathinfo($file);
       	$filetitle = $path_parts['basename'];

	// Spytt ut link
       	echo "<a href='{$dir}/{$filetitle}' > {$filetitle} </a><br />";
}
}
?>

 

Bruk:

http://sidendin.no/index.php?dir=image
http://sidendin.no/index.php?dir=bilder

Lenke til kommentar

Liste ut kun bilder fra en gitt mappe:

<?php
// Hvilken mappe ligger bildene i
$dir = "images/";

// Hver eneste bildefil
foreach(glob("$dir/{*.jpg,*.JPG,*.gif,*.GIF,*.png,*.PNG,*.jpeg,*.JPEG}", GLOB_BRACE) as $file) {

       // Penere navn på linken
       $path_parts = pathinfo($file);
       $filetitle = $path_parts['basename'];

// Spytt ut link
       echo "<a href='{$dir}/{$filetitle}' > {$filetitle} </a><br />";
}
?>

 

Hvordan linke til andre sider mener du?

Mange takk, da har jeg noe å bryne meg på! Med å linke til andre sider mener jeg å linke bildene opp mot eksterne sider. Bildene skal være små "bannere" av sider til bekjente som jeg vil linke videre til.

Lenke til kommentar

Sånn ca:

<?php
if(phpversion() >= '5.3') {
echo 'PHP Version 5.3 or newer will not work!';
exit;
}
foreach(glob('images/{*.jpg,*.JPG,*.gif,*.GIF,*.png,*.PNG,*.jpeg,*.JPEG}',GLOB_BRACE) as $Image) {
$mime = mime_content_type($Image);
list($type)=explode('/',$mime);
$path = explode('.',$Image);
array_pop($path);
$path[] = 'txt';
$txt = implode('.',$path);
if(is_file($txt)) {
	$url = str_replace(array("\n","\r","\t"),'',file_get_contents($txt));
	if(empty($url)) {
		unset($url);
	}
}
if($url) {
	echo '<a href="'.$url.'">';
}
echo '<img src="'.$Image.'">';
if($url) {
	echo '</a>';
}
echo "<br>\n";
}
?>

For hvert bilde i images mappen så må du lage en fil som heter <bildenavn>.txt

Feks:

Bildet heter:

meg.jpeg

tekst filen skal da hete

meg.txt

 

i meg.txt skal du legge url'en

 

Funker ikke på PHP >=5.3 (har lagt inn sperre)

Men nå er det å hoppe på flyet til Oslo, lykke til

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å
×
×
  • Opprett ny...