php code toevoegen aan een slide show, om foto's automatisch op te halen uit een map

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Henry V

Henry V

24/03/2011 14:10:23
Quote Anchor link
Beste,

Ik gebruik een slide show op mijn website, deze werkt perfect.
Maar met 1 nadeel, als ik nieuwe foto's wil hebben, moet dit handmatig toegevoegd worden.
Hoe kan ik dit, d.m.v. een stukje php code automatisch laten gebeuren?
Ik heb al heel veel gezocht met google, maar tot nu toe nog zonder resultaat!
Alle foto's worden opgeslagen in een map.

Alvast bedankt voor de hulp

De code die ik nu gebruik is:
(P.s. de url heb ik even eruit gehaald, i.v.m. 18+ site. Het leek me wel even verstandig)

<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="1053" height="140">
<tr>
<td height="140" bgcolor="#c81903">
<p align="center">&nbsp;<div id="carousel">
<ul id="home_carousel" class="jcarousel-skin-tango">
<li><a href="http://www......html"
>
<img src="http://www....../fotos/21-2.jpg" border=0></a></li>
<li><a href="http://www......html"
>
<img src="http://www....../fotos/85-1.jpg" border=0></a></li>
<li><a href="http://www......html"
>
<img src="http://www....../fotos/30-4.jpg" border=0></a></li>
<li><a href="http://www......html"
>
<img src="http://www....../fotos/43-1.jpg" border=0></a></li>
<li><a href="http://www......html"
>
<img src="http://www....../fotos/70-6.jpg" border=0></a></li>
<li><a href="http://www......html"
>
<img src="http://www....../fotos/84-1.jpg" border=0></a></li>
<li><a href="http://www......html"
>
<img src="http://www....../fotos/31-1.jpg" border=0></a></li>
<li><a href="http://www......html"
>
<img src="http://www....../fotos/43-3.jpg" border=0></a></li>
<li><a href="http://www......html"
>
<img src="http://www....../fotos/26-1.jpg" border=0></a></li>
<li><a href="http://www......html"
>
<img src="http://www....../fotos/13-1.jpg" border=0></a></li>
<li><a href="http://www......html"
>
<img src="http://www....../fotos/67-5.jpg" border=0></a></li>
</ul>
</div></td>
</tr>
</table>
</center>
</div>
 
PHP hulp

PHP hulp

15/11/2024 08:03:37
 
Stefan -

Stefan -

24/03/2011 14:13:18
Quote Anchor link
Als je de foto's uit een map haalt kan je een loop door de map maken. De bestanden in een array zetten, vervolgens weergeven.
 
Henry V

Henry V

24/03/2011 14:18:15
Quote Anchor link
Zou je mij eventueel wat meer uitleg daarover kunnen geven?
sorry ik begrijp momenteel redelijk wat van php,
maar helaas nog niet alles.
 
Thomas van den Bulk

Thomas van den Bulk

24/03/2011 14:24:00
Quote Anchor link
kun je even uitleg geven?
bedoel je, dat je handmatig het bestand moet toevoegen?
of handmatig de html code?

of beide xP
Gewijzigd op 24/03/2011 14:27:39 door Thomas van den Bulk
 
Henry V

Henry V

24/03/2011 14:36:49
Quote Anchor link
Nee ik bedoel,
wat voor php code moet ik toevoegen aan deze html code,
zodat de foto's automatisch opgehaald worden?

Zoals de code nu is, werkt deze perfect, dat is het probleem ook niet.
Maar ik wil niet iedere keer nieuwe foto's handmatig moeten toevoegen in de code.
Dit moet op één of andere manier ook automatisch kunnen
 
Stefan -

Stefan -

24/03/2011 14:38:02
Quote Anchor link
Zie:

http://snipplr.com/view/742/read-images-of-directory/
Gewijzigd op 24/03/2011 14:39:19 door Stefan -
 
Thomas van den Bulk

Thomas van den Bulk

24/03/2011 14:42:38
Quote Anchor link
ipv alle <li><a><img /></a></li>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if ($handle = opendir('/fotos')) {
    while (($file = readdir($handle)) !== false) {
        if ($file != "." && $file != "..") {
            echo '<li><a href="http://www......html"><img src="'.$file.'" border=0></a></li>';
        }
    }

    closedir($handle);
}

?>
 
Henry V

Henry V

24/03/2011 14:58:14
Quote Anchor link
ok ik heb het al toegevoegd en alles gaat nog goed.
Maar moet ik niet op regel 4 nog wat invullen, tussen "." en ".." ?

Dat ik de link van de website moet invullen, dat weet ik,
maar dit zal eigenlijk ook wat moeilijk gaan, aangezien ik de foto, niet naar de index kan verwijzen waar de slider ook gebruikt wordt!
Van te voren werden de foto's allemaal met "<a href" doorgelinkt naar de juiste advertentie.
Wat nu dus ineens niet meer kan!
Of is hier eventueel ook een oplossing voor, alle advertentie's worden database opgeslagen
 
Thomas van den Bulk

Thomas van den Bulk

24/03/2011 15:05:17
Quote Anchor link
nee,
als je een map opent met opendir
is de . de map waar je nu in zit, en .. de bovenliggende map,
om ervoor te zorgen dat je die niet ook echo't, filter je die er daarmee dus uit.

en als een of ander veld in je database de zelfde naam heeft als het bestand naam:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if ($handle = opendir('/fotos')) {
    while (($file = readdir($handle)) !== false) {
        if ($file != "." && $file != "..") {
            $query = mysqli_query("SELECT url FROM database WHERE file='".$file."'");
            $query->fetch_assoc();
            echo '<li><a href="'.$query['url'].'"><img src="'.$file.'" border=0></a></li>';
        }
    }

    closedir($handle);
}

?>


moet er natuurlijk wel een mysqli connectie open staan.
Gewijzigd op 24/03/2011 15:06:32 door Thomas van den Bulk
 
Henry V

Henry V

24/03/2011 15:16:53
Quote Anchor link
ok dit had ik al toegevoegd zoals je aangaf

<php code>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if ($handle = opendir('/fotos')) {
    while (($file = readdir($handle)) !== false) {
        if ($file != "." && $file != "..") {
            echo '<li><a href="http://www......html"><img src="'.$file.'" border=0></a></li>';
        }
    }

    closedir($handle);
}

?>

</php code>

de php file heb ik geupload, het werkt wel, maar ik zie enkel grijze vlakken en geen foto's.

Mysql connectie kan ik toevoegen door de config file te includen.
De advertenties worden allemaal in de mysql database gezet, die vervolgens elk een ID nummer krijgen.
De foto's hebben ook de zelfde ID mee gekregen, alleen dan met "-1.jpg" of "-2.jpg" als extra erachter, dit is omdat de mensen maximaal 10 foto's kunnen uploaden
 
Thomas van den Bulk

Thomas van den Bulk

24/03/2011 15:26:48
Quote Anchor link
kijk even naar de broncode voor die grijze vlakken,

en voor de url zo iets??

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if ($handle = opendir('/fotos')) {
    while (($file = readdir($handle)) !== false) {
        if ($file != "." && $file != "..") {
            $query = mysqli_query("SELECT url FROM database WHERE id='".preg_replace('#^([0-9]+)*$#', '$1', $file)."'");
            $query->fetch_assoc();
            echo '<li><a href="'.$query['url'].'"><img src="'.$file.'" border=0></a></li>';
        }
    }

    closedir($handle);
}

?>


weet niet zeker of het werkt..
 
Henry V

Henry V

24/03/2011 15:33:21
Quote Anchor link
Ik zal even kijken in de broncode i.v.m. die grijze vlakken.

Qua de url's, ik heb ook een rss, die de gegevens ophaald vanuit de database.
In deze rss worden de url's als volgt aangeroepen:
$link = ("http://www.........nl/advertentie".$geta[id]."_".urlencode($geta[titel]).".html");

Update!

Even terug komende op de broncode die ik even zou bekijken qua die grijze vlakken.
Dit is wat ik daar zie:

<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="1053" height="140">
<tr>
<td height="140" bgcolor="#c81903">
<p align="center">&nbsp;<div id="carousel">
<ul id="home_carousel" class="jcarousel-skin-tango">
<br />
<b>Warning</b>: opendir(/fotos) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: No such file or directory in <b>/home/erocontact/domains/ero-contact.nl/public_html/slider1.php</b> on line <b>9</b><br />
</ul>
</div></td>
</tr>
</table>
</center>
</div>
Gewijzigd op 24/03/2011 15:38:46 door Henry V
 
Thomas van den Bulk

Thomas van den Bulk

24/03/2011 15:43:56
Quote Anchor link
ik zie hier de map:
/home/erocontact/domains/ero-contact.nl/public_html/slider1.php
waar staan de foto's?
 
Henry V

Henry V

24/03/2011 15:54:32
Quote Anchor link
Ja natuurlijk niet in de root!
slider1.php staat in de root

<off topic>
Even ter informatie: slider1.php is geincluded in een andere .php file (home.inc.php)
En home.inc.php is geincluded op index.php, doormiddel van deze code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if(file_exists($d.".inc.php")==1) include($d.".inc.php");
else include("home.inc.php");
?>

</off topic>

De betreffende map van de foto's, kan je vinden in:
/home/erocontact/domains/ero-contact.nl/public_html/fotos
oftewel
http://www......nl/fotos


Toevoeging op 24/03/2011 20:21:45:

Voor een groot deel heb ik het inmiddels al opgelost

Dit heb ik inmiddels toegevoegd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if ($handle = opendir('fotos/verkleind')) {
    while (($file = readdir($handle)) !== false) {
        if ($file != "." && $file != "..") {
            echo "<li><a href='http://www......nl'><img src='fotos/verkleind/".$file."' border=0></a></li>";
        }
// echo "<li><a href='http://www......nl/advertentie".$geta[id]."_".urlencode($geta[titel]).".html'><img src='fotos/verkleind/".$file."' border=0></a></li>";
    }
    closedir($handle);
}

?>


Met behulp van deze code, krijg ik in ieder geval de foto's automatisch in de slide show, alleen krijg ik het nog niet voor elkaar om de link erbij te krijgen!
Als ik dit toevoeg:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
echo "<li><a href='http://www......nl/advertentie".$geta[id]."_".urlencode($geta[titel]).".html'><img src='fotos/verkleind/".$file."' border=0></a></li>";
?>


krijgen alle foto's dezelfde link (waarde) toegevoegd, ik begrijp hier even niks van aangezien het door de $geta wel wordt aangeroepen vanuit de database

Kan iemand even mee kijken alsjebliefd
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.