Alle plaatjes uit directory weergeven
Dit script laat alle plaatjes uit de volgende directory zien.
Must is wel dat het script in de folder vóór de plaatjes dir staat.
Het script staat in je root dir, dus http://www.jouwsite.nl/script.php
en de directory is http://www.jouwsite.nl/dir/
Als er andere bestanden in de directory staan, wat geen plaatjes zijn, worden deze ook weergegeven, maar dan als thumbs die niet kunnen worden weergegeven.
Test m zelf!
Cheers, Niels
Gesponsorde koppelingen
PHP script bestanden
48 reacties op 'Alle plaatjes uit directory weergeven'
Gesponsorde koppelingen
Quote:
echo "<img src=\"http://www.jouwsite.nl/dir/$file\"";
Zal mooi werken :/
Is al direct wat ordelijker, maar het punt is eigenlijk dat je je > vergeet bij je img tag :)
Misschien ook mooier als je het uitbreidt en de grootte van de fotos opvraagt, en deze allemaal mooi bvb 150px breed maakt? Kleine uitbreidingen die je script veel mooier maken :)
Hoihoi,
Leuk script! Voor de mensen onder ons die graag alleen bepaalde bestanden willen lezen:
Succes!
Gr Jelle
Leuk script! Voor de mensen onder ons die graag alleen bepaalde bestanden willen lezen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$dir = opendir('dir');
// Haal de gegevens uit dir
while (false !== ($file = readdir($dir))) {
if (($file !== ".") and ($file !== "..")) {
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg" or $ext == "png" or $ext == "gif") {
echo "<img src=\"http://www.jouwsite.nl/dir/$file\"";
if ($inc==$file) echo " selected";
echo"><br>\n";
}
}
}
?>
$dir = opendir('dir');
// Haal de gegevens uit dir
while (false !== ($file = readdir($dir))) {
if (($file !== ".") and ($file !== "..")) {
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg" or $ext == "png" or $ext == "gif") {
echo "<img src=\"http://www.jouwsite.nl/dir/$file\"";
if ($inc==$file) echo " selected";
echo"><br>\n";
}
}
}
?>
Succes!
Gr Jelle
Hipska, ik denk niet dat PHP dat toelaat. Stel je voor als ik zo'n script zou maken die jouw directory opent! ;)
Het zou evenwel mogelijk kunnen zijn via omwegen, aangezien er sites zijn die open directory's van andere sites laten zien. Denk dat je dan in de hoek van sockets of regex komt?
Edit: Op phpfreakz staat eenzelfde onderwerp; als je de ftp gegevens hebt kan je via een phpscript op je ftp inloggen en dan je code erop los laten.
Het zou evenwel mogelijk kunnen zijn via omwegen, aangezien er sites zijn die open directory's van andere sites laten zien. Denk dat je dan in de hoek van sockets of regex komt?
Edit: Op phpfreakz staat eenzelfde onderwerp; als je de ftp gegevens hebt kan je via een phpscript op je ftp inloggen en dan je code erop los laten.
Waarschijnlijk moet je verbinding maken met de ftp server en de benodigde bestanden dan ophalen en in een tijdelijke map opslaan of zo? Zorgt wel voor extra bandbreedte en minder schijfruimte, maar ik denk niet dat je het bestand direct vanaf de andere server kunt openen.
BTW fopen("ftp://ftp.jouwserver.nl", "r+"); schijnt ook te werken, althans dat heb ik gelezen :)
@Erick: root dir kan wel worden aangepast, maar je kan dan alleen de lokale server gebruiken. PHP accepteert het gedeelte van de http:// niet denk ik.
BTW fopen("ftp://ftp.jouwserver.nl", "r+"); schijnt ook te werken, althans dat heb ik gelezen :)
@Erick: root dir kan wel worden aangepast, maar je kan dan alleen de lokale server gebruiken. PHP accepteert het gedeelte van de http:// niet denk ik.
Je kunt de lijst ook laten sorteren en in dezelfde map plaatsen. Zie onderstaande:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$itemnr = 0;
$dir = opendir("./");
while (false !== ($file = readdir($dir)))
{
if (($file !== ".") && ($file !== ".."))
{
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
$lijst[$itemnr] = $file;
$itemnr++;
}
}
sort($lijst);
for($i=0;$i<sizeof($lijst);$i++)
{
print "<a href=\"".$lijst[$i]."\">".$lijst[$i]."</a><br />";
}
?>
$itemnr = 0;
$dir = opendir("./");
while (false !== ($file = readdir($dir)))
{
if (($file !== ".") && ($file !== ".."))
{
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
$lijst[$itemnr] = $file;
$itemnr++;
}
}
sort($lijst);
for($i=0;$i<sizeof($lijst);$i++)
{
print "<a href=\"".$lijst[$i]."\">".$lijst[$i]."</a><br />";
}
?>
@retanik:
Ik maak eerst de variabele aan $target, daar geef je de folder aan die je wil. Daarna maak je gewoon een a die naar $target.$file (map/file) verwijst, dan een <img met kleine height en width.
@Klaasjan:
Nee dat kan niet, je kan wel links van de bestanden maken maar in een pagina kan je geen pdf'jes renderen. Die moeten echt in een eigen window worden geopend of gedownload!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$target = 'pic/';
$dir = opendir($target);
// Haal de gegevens uit dir
while (false !== ($file = readdir($dir))) {
if (($file !== ".") and ($file !== "..") and ($file !== ".DS_Store")) {
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg" or $ext == "png" or $ext == "gif") {
echo '<a href="'.$target.$file.'" alt="groter" target="_blank"><img src="'.$target.$file.'" height="48px" width="64px"></a>';
if ($inc==$file) echo " selected";
echo "<br>\n";
}
}
}
?>
$target = 'pic/';
$dir = opendir($target);
// Haal de gegevens uit dir
while (false !== ($file = readdir($dir))) {
if (($file !== ".") and ($file !== "..") and ($file !== ".DS_Store")) {
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg" or $ext == "png" or $ext == "gif") {
echo '<a href="'.$target.$file.'" alt="groter" target="_blank"><img src="'.$target.$file.'" height="48px" width="64px"></a>';
if ($inc==$file) echo " selected";
echo "<br>\n";
}
}
}
?>
Ik maak eerst de variabele aan $target, daar geef je de folder aan die je wil. Daarna maak je gewoon een a die naar $target.$file (map/file) verwijst, dan een <img met kleine height en width.
@Klaasjan:
Nee dat kan niet, je kan wel links van de bestanden maken maar in een pagina kan je geen pdf'jes renderen. Die moeten echt in een eigen window worden geopend of gedownload!
Ik heb hem nog wat verbeterd, nu maakt hij thumbnails en zet hij netjes in een table neer. Die table is variabel in het aantal thumbs in de breedte en zelf in te stellen.
Code:
Code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$target = 'pic/'; //de folder die je wil
$breedte = '4'; //de hoeveelheid thumbs naast elkaar
$counter = '0'; //maak een variabele aan voor de counter
$dir = opendir($target); //nodig voor het script
echo '<table border="0px><tr>';
while (false !== ($file = readdir($dir))) {
if (($file !== ".")&&($file !== "..")&&($file !== ".DS_Store")) {
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg"||$ext == "png"||$ext == "gif") {
echo '<td>';
echo '<a href="'.$target.$file.'" target="_blank"><img src="'.$target.$file.'" alt="'.$file.'" height="48px" width="64px"></a>';
$couter++;
echo '</td>';
if ($couter == "$breedte") {
echo '</tr><tr>';
$couter = 0; }
}
}
}
echo '</tr></table>';
?>
$target = 'pic/'; //de folder die je wil
$breedte = '4'; //de hoeveelheid thumbs naast elkaar
$counter = '0'; //maak een variabele aan voor de counter
$dir = opendir($target); //nodig voor het script
echo '<table border="0px><tr>';
while (false !== ($file = readdir($dir))) {
if (($file !== ".")&&($file !== "..")&&($file !== ".DS_Store")) {
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg"||$ext == "png"||$ext == "gif") {
echo '<td>';
echo '<a href="'.$target.$file.'" target="_blank"><img src="'.$target.$file.'" alt="'.$file.'" height="48px" width="64px"></a>';
$couter++;
echo '</td>';
if ($couter == "$breedte") {
echo '</tr><tr>';
$couter = 0; }
}
}
}
echo '</tr></table>';
?>
Hoi
ik heb een vraagje over het script van Steven
ik vind het een leuke script en wil het gaan gebruiken maar het werkt helaas niet helemaal optimaal.
je kunt niet op de eerste foto drukken maar hij laat wel een thumbnail zien
de rest van de foto's werkt wel goed. Hij laat als je er op klikt wel gewoon een grote foto zien
dus mijn vraag is hoe maak ik de eerste foto ook klikbaar zodat die vergroot word.
ik hoop dat iemand mij kan helpen
gr Cowabunga
ik heb een vraagje over het script van Steven
ik vind het een leuke script en wil het gaan gebruiken maar het werkt helaas niet helemaal optimaal.
je kunt niet op de eerste foto drukken maar hij laat wel een thumbnail zien
de rest van de foto's werkt wel goed. Hij laat als je er op klikt wel gewoon een grote foto zien
dus mijn vraag is hoe maak ik de eerste foto ook klikbaar zodat die vergroot word.
ik hoop dat iemand mij kan helpen
gr Cowabunga
Perfect script.. zelf een beetje aangepast als amateur PHP. Ik moet nu iets voor school maken he, daarbij moet ik een foto uit een map halen (wat ik nu al heb dankzij dit mooie script), de laatst gekopieerde foto in de map als eerst weergeven (descending order) en ook nog eens een text bestand die moet worden uitgelezen en de descriptie die bij de bestandsnaam hoort als <img alt="descriptie" neerzetten. Kan iemand mij opweg helpen naarmate van bijv. tutorials, op php.net wordt ik er niet wijzer van.
PS. dit is wat ik nu heb:
PS. dit is wat ik nu heb:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$pad = 'gallerij/';
$dir = opendir($pad);
// Haal de gegevens uit dir
while (false !== ($file = readdir($dir)))
{
if (($file !== ".") and ($file !== ".."))
{
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg")
{
echo "<a href=\"$pad$file\" target='foto'><img width='280' height='230' border='0' src=\"$pad$file\"></a>";
if ($inc==$file) echo " selected";
}
}
}
?>
$pad = 'gallerij/';
$dir = opendir($pad);
// Haal de gegevens uit dir
while (false !== ($file = readdir($dir)))
{
if (($file !== ".") and ($file !== ".."))
{
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg")
{
echo "<a href=\"$pad$file\" target='foto'><img width='280' height='230' border='0' src=\"$pad$file\"></a>";
if ($inc==$file) echo " selected";
}
}
}
?>
Beste Jelmer,
ik heb een beetje gelezen en ben tot dit gekomen:
Nu heb ik het probleem dat ik de 2e foto niet krijg te zien ik heb dit in mijn descriptie.txt:
anotherway.jpg::vrouw::
piano1.jpg::lol::
piano2.jpg::lol2::
Kun je me helpen alsjeblieft?
ik heb een beetje gelezen en ben tot dit gekomen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
$bestand=array_reverse(file("descripties.txt"));
foreach($bestand as $i)
{
$i=explode("::",$i);
$foto = $i[0];
$naam = $i[1];
$naam = htmlspecialchars($naam);
$foto = htmlspecialchars($foto);
}
$pad = '../gallerij/';
$dir = opendir($pad);
// lees die jpgies uit dir
while (false !== ($file = readdir($dir)))
{
if (($file !== ".") and ($file !== ".."))
{
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg") {
if ($file == $foto) {
echo "<a href=\"$pad$file\" target='foto'><img alt=\"$naam\" width='280' height='230' border='0' src=\"$pad$file\"></a>";
}
else {
echo "<a href=\"$pad$file\" target='foto'><img alt=\"geen naam\" width='280' height='230' border='0' src=\"$pad$file\"></a>";
}
}
}
}
?>
$bestand=array_reverse(file("descripties.txt"));
foreach($bestand as $i)
{
$i=explode("::",$i);
$foto = $i[0];
$naam = $i[1];
$naam = htmlspecialchars($naam);
$foto = htmlspecialchars($foto);
}
$pad = '../gallerij/';
$dir = opendir($pad);
// lees die jpgies uit dir
while (false !== ($file = readdir($dir)))
{
if (($file !== ".") and ($file !== ".."))
{
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg") {
if ($file == $foto) {
echo "<a href=\"$pad$file\" target='foto'><img alt=\"$naam\" width='280' height='230' border='0' src=\"$pad$file\"></a>";
}
else {
echo "<a href=\"$pad$file\" target='foto'><img alt=\"geen naam\" width='280' height='230' border='0' src=\"$pad$file\"></a>";
}
}
}
}
?>
Nu heb ik het probleem dat ik de 2e foto niet krijg te zien ik heb dit in mijn descriptie.txt:
anotherway.jpg::vrouw::
piano1.jpg::lol::
piano2.jpg::lol2::
Kun je me helpen alsjeblieft?
hallo, zou iemand dit script voor mij willen bewerken?
ik zou graag thumbs van 90 bij 120 in een imagemap willen zetten op de www root, en dan als resultaat, dat ze weer worden gegeven in 1tabel
met daar in 8 blokken breed 1 blok 90 *120, met 5 pixel tussenruimte
en 5 blokken hoog. dus die tabel word auto matisch gevult met thumbs door php. verder is het belangrijk dat php het hele zooitje doorelkaar gooit.
dus niet bij elke pagina refresh het zelfde plaatje op de zelfde plaats.
graag hulp desnood wil ik er voor betalen
ik zou graag thumbs van 90 bij 120 in een imagemap willen zetten op de www root, en dan als resultaat, dat ze weer worden gegeven in 1tabel
met daar in 8 blokken breed 1 blok 90 *120, met 5 pixel tussenruimte
en 5 blokken hoog. dus die tabel word auto matisch gevult met thumbs door php. verder is het belangrijk dat php het hele zooitje doorelkaar gooit.
dus niet bij elke pagina refresh het zelfde plaatje op de zelfde plaats.
graag hulp desnood wil ik er voor betalen
@kristof:
misschien moet je dan ook nog even het goede voorbeeld geven volgende x...:P
echo '<table border="0px"><tr>';
zo moet die zijn.
@proximus1978
als ik jou een beetje begrijp moet je dat gewoon instellen in het script door met de hoogte en de breedte van de tumbs te spelen. ikzelf heb er bijvoorbeeld allebij met 17 px verhoogd, dan zijn ze duidelijker...
en het aantal foto's op of naast elkaar kun je daar ook veranderen, dat moet gewoon bovenin bij het script
misschien moet je dan ook nog even het goede voorbeeld geven volgende x...:P
echo '<table border="0px"><tr>';
zo moet die zijn.
@proximus1978
als ik jou een beetje begrijp moet je dat gewoon instellen in het script door met de hoogte en de breedte van de tumbs te spelen. ikzelf heb er bijvoorbeeld allebij met 17 px verhoogd, dan zijn ze duidelijker...
en het aantal foto's op of naast elkaar kun je daar ook veranderen, dat moet gewoon bovenin bij het script
Hallo ik heb deze code maar krijg een foutmelding namelijk deze
Fatal
error: Call to undefined function fotopagina() in /storage/mijndomein/users/000811/public/sites/www.laikas-palace.nl/foto.php on line 15
weet iemand wat er fout is
Arjan Jansen
Fatal
error: Call to undefined function fotopagina() in /storage/mijndomein/users/000811/public/sites/www.laikas-palace.nl/foto.php on line 15
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
$bestand=array_reverse(file("fotopagina"));
foreach($bestand as $i)
{
$i=explode("::",$i);
$foto = $i[0];
$naam = $i[1];
$naam = htmlspecialchars($naam);
$foto = htmlspecialchars($foto);
}
$pad = 'http://www.laikas-palace.nl/fotopagina';
$dir = fotopagina($pad);
// lees die jpgies uit dir
while (false !== ($file = readdir($dir)))
{
if (($file !== ".") and ($file !== ".."))
{
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg") {
if ($file == $foto) {
echo "<a href=\"$pad$file\" target='foto'><img alt=\"$naam\" width='280' height='230' border='0' src=\"$pad$file\"></a>";
}
else {
echo "<a href=\"$pad$file\" target='foto'><img alt=\"geen naam\" width='280' height='230' border='0' src=\"$pad$file\"></a>";
}
}
}
}
?>
$bestand=array_reverse(file("fotopagina"));
foreach($bestand as $i)
{
$i=explode("::",$i);
$foto = $i[0];
$naam = $i[1];
$naam = htmlspecialchars($naam);
$foto = htmlspecialchars($foto);
}
$pad = 'http://www.laikas-palace.nl/fotopagina';
$dir = fotopagina($pad);
// lees die jpgies uit dir
while (false !== ($file = readdir($dir)))
{
if (($file !== ".") and ($file !== ".."))
{
list($filename, $ext) = explode(".", $file);
list($main, $sub, $include) = explode("/", $PHP_SELF);
if ($ext == "jpg") {
if ($file == $foto) {
echo "<a href=\"$pad$file\" target='foto'><img alt=\"$naam\" width='280' height='230' border='0' src=\"$pad$file\"></a>";
}
else {
echo "<a href=\"$pad$file\" target='foto'><img alt=\"geen naam\" width='280' height='230' border='0' src=\"$pad$file\"></a>";
}
}
}
}
?>
weet iemand wat er fout is
Arjan Jansen
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
Niels- 9 jaar geleden
- 2.273 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP scripts opties
- PHP algemeen
- Nieuwste PHP scripts
- PHP script toevoegen


PHP hulp
0 seconden vanaf nu