php code toevoegen aan een slide show, om foto's automatisch op te halen uit een map
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"> <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>
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.
sorry ik begrijp momenteel redelijk wat van php,
maar helaas nog niet alles.
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
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
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
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)
1
2
3
4
5
6
7
8
9
10
11
12
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);
}
?>
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
<php code>
Code (php)
</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
en voor de url zo iets??
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
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);
}
?>
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..
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"> <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
/home/erocontact/domains/ero-contact.nl/public_html/slider1.php
waar staan de foto's?
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)
1
2
3
4
2
3
4
<?php
if(file_exists($d.".inc.php")==1) include($d.".inc.php");
else include("home.inc.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)
1
2
3
4
5
6
7
8
9
10
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);
}
?>
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)
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