Archief - PHP: list images

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.

dewoete

Legacy Member
ik ben op zoek naar een super SIMPEL php script dat gewoon alle foto's (dat in dezelfde map als het script staan !!!) onder elkaar (en liefst gecentreerd ook en met één regel witruimte tss de foto's) weergeeft.

na gegoogle vind ik alleen galleries en dat heb ik niet nodig

bij voorbaat bedankt :p

killgore

Legacy Member
PHP:
<?php
$dir = "/fotos/";

if (is_dir($dir)) {
   if ($handle = opendir($dir)) {
       while (($file = readdir($handle)) !== false) {
           if(exif_imagetype($file) !== false))
           {
               echo '<img src="'.$dir.$file.'" /><br /><br />';
           }
       }
       closedir($dh);
   }
}
?>

zoiets?

dewoete

Legacy Member
parse error line 7
den deze dus:
Code:
 if(exif_imagetype($file) !== false))

GuntherDW

Legacy Member
ik zou het (een klein) beetje anders doen
t'is wel nimmeer 100% W3C strict XHTML, maar da kan makkelijk aangepast worden :)

edit : idd er zat 1 ')' teveel in z'n code :)
edit2: ik vergat closedir erin te zetten...

PHP:
<?php
$dir = "/fotos/";

if (is_dir($dir)) {
	if ($handle = opendir($dir)) {
		while (($file = readdir($handle)) !== false) {
			if(exif_imagetype($file) !== false)
			{
				echo $file.'<center>';
				echo '<img src="'.$dir.$file.'" /><br /><br />';
				echo '</center>';
			}
		}
	}
	closedir($handle);
}
?>

dewoete

Legacy Member
jamaar,
ge zegt in uw code nog over welken dir dat het gaat en dat wil ik net niet want dat is lastig!
dan moet ik voor elke andere map de code gaan aanpassen...

kwil gewoon een universeel scriptje in éénder welke map kunnen uploaden.

geen van beide werkt trouwens :( ik krijg gewoon een witte pagina te zien.

edit: kzal voor de handigheid ff de link geven: http://woete.sohosted.com/newproject/Ttest_fotos/

dewoete

Legacy Member
en wat moet ik hier eigentlijk voor gebruiken:
Code:
$dir = "/fotos/";
?

mmm met "." komen er al kruiskes ipv nix.
maar de foto's krijg ik nog niet te zien.

GuntherDW

Legacy Member
ge kunt ook $_GET['fotodir'] gebruiken ma da is onveilig :p
en dan fotodir.php?fotodir=....

edit : klein editje

probeer deze code es
PHP:
<?php 
$dir = "/fotos/"; 

if (is_dir($dir)) { 
    if ($handle = opendir($dir)) { 
        while (($file = readdir($handle)) !== false) { 
            if(preg_match("/\.gif|\.jpg|\.jpeg|\.bmp|\.png/i", $file)) 
            { 
                echo $file.'<center>'; 
                echo '<img src="'.$dir.$file.'" /><br /><br />'; 
                echo '</center>'; 
            } 
        } 
    } 
    closedir($handle); 
} 
?>

dewoete

Legacy Member
nop macheert ook niet.

en wat je met $_GET['fotodir'] bedoeld dat weet ik niet.
ik ben een gigantische leek in php

dewoete

Legacy Member
jihaa, het laatste scriptje macheert bijna.
helaas, als ik als dir van de foto "." opgeef dan gaat hij op zoek naar een foto op volgende plaats: http://woete.sohosted.com/newproject/TEST_FOTO's/.clio%2013.jpg

dewoete

Legacy Member
reeds geprobeerd.
dan krijg ik weer een witte pagina

en bij "/" krijg ik ook witte pagina

GuntherDW

Legacy Member
kijk, / = UNIX root
dus ge kunt $foto ook zo 'binden'

wie kan dit ff korter maken? :p
PHP:
$dirar2 = explode('/', $_SERVER['PHP_SELF']);
for($x = 1; $x < (count($dirar2)-1); $x++)
{
	$dir .= '/'.$dirar2[$x];
}

$dir .= "/fotos/";
en 1 tip da'k u geef = een " ' " in uw dir = fout bezig :p, da VRAAGT gewoon om problemen:)

edit : path editted

dewoete

Legacy Member
de " ' " is eruit.
maar wat moet ik dan precies veranderen aan het laatste script?
want jij geeft nu wel een oplossing voor een map foto's, maar khad graag de foto's gehad die in dezelfde map als het script staan.

GuntherDW

Legacy Member
ja dan kunt ge het zo proberen :

PHP:
<?php 
$dirar2 = explode('/', $_SERVER['PHP_SELF']); 
for($x = 1; $x < (count($dirar2)-1); $x++) 
{ 
    $dir .= '/'.$dirar2[$x]; 
}

$dir .= '/';

if (is_dir($dir)) { 
    if ($handle = opendir($dir)) { 
        while (($file = readdir($handle)) !== false) { 
            if(exif_imagetype($file) !== false) 
            { 
                echo $file.'<center>'; 
                echo '<img src="'.$dir.$file.'" /><br /><br />'; 
                echo '</center>'; 
            } 
        } 
    } 
    closedir($handle); 
} 
?>

eigenljik, de korste methode voor een folder boven/onder de dir is zo

boven = ./fotos
onder = ../fotos

dus $dir voor u is './';

:)

dewoete

Legacy Member
HEBBES !!!!!

"./" macheert

merci voor de snelle reacties!

ge moest is weten hoe lang ik hier al naar op zoek was en aan het prutsen ben geweest aan andere scriptjes.

merci !

edit: we hebbe het opdezelfste moment gevonde seg, intuïtie

GuntherDW

Legacy Member
heh, kwas just voor u :p
mja, als ge nu had gezegd da het voor in de map zelf was moesten we ni door al die moeite gaan :p

dJeez

Legacy Member
GuntherDW zei:
wie kan dit ff korter maken? :p
PHP:
$dirar2 = explode('/', $_SERVER['PHP_SELF']);
for($x = 1; $x < (count($dirar2)-1); $x++)
{
	$dir .= '/'.$dirar2[$x];
}

Mijn versie van bovenstaande zou er als volgt uitzien :
PHP:
$dir = dirname(__FILE__);

Je krijgt dan in $dir het absolute pad van de folder waar het script staat op de server terug (ipv relatief tov de DOCUMENT_ROOT zoals in uw geval).

BTW Het voordeel van __FILE__ te gebruiken is dat je dat script dan ook via command line kan gebruiken (vb. om een bepaald proces op gezette tijden een indexpagina van de folder te laten maken ipv dat steeds te doen bij het oproepen van de pagina).
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