foto uit dir met volgende en vorige
Hallo
zoals bekend staan hier op het forum nogal wat image uit dir script
maar mijn vraag is of er iemand een script kan aanpassen zodat je 1 afbeelding krijg en via een volgende en vorige knop de anderen
Arjan
zoals bekend staan hier op het forum nogal wat image uit dir script
maar mijn vraag is of er iemand een script kan aanpassen zodat je 1 afbeelding krijg en via een volgende en vorige knop de anderen
Arjan
ik heb wel nog een script staan die werkt maar hij is wat slecht geprogrammeerd
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
$a = '5'; //aantal plaatjes op 1 pagina
$locatie = "pics/" //map van afbeeldingen
$breedte = '550'; //breedte van de plaatjes
//hieronder hoeft niks veranderd te worden
$dir = opendir($locatie);
$nr = '1';
// 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);
$files[$nr] = $file;
$nr++;
}
}
$a0 = count($files);
$a1 = ($a0/$a);
$a2 = round($a1);
if ($a1 > $a2) {
$a2++;
}
$i = '1';
while ($i != ($a2 + 1)) {
if ($pagina == $i) {
$j = (($a * $i)-$a);
$afb = ($j + 1);
while ($j != ($a * $i)) {
if ($afb > $a0) {
$j = ($a * $i);
}
else {
echo "\n<a name = \"pic\"></a><img src=\"$locatie/$files[$afb]\" width=\"$breedte\" border=0> ";
$afb++;
$j++;
}
}
//pagina nummers met links
if($pagina == 1){
$l0 = ($pagina+1);
echo"\n<a href=\"" . $_SERVER['PHP_SELF'] . "?pagina=$l0\">volgende >></a>";
}
elseif($pagina == $a2){
$l1 = ($pagina-1);
echo"\n<a href=\"" . $_SERVER['PHP_SELF'] . "?pagina=$l1\"><< vorige </a>";
}
else{
$l2 = ($pagina-1);
$l3 = ($pagina+1);
echo"\n<a href=\"" . $_SERVER['PHP_SELF'] . "?pagina=$l2\"><< vorige</a> | ";
echo"\n<a href=\"" . $_SERVER['PHP_SELF'] . "?pagina=$l3\">volgende >></a>";
}
}
$i++;
?>
$a = '5'; //aantal plaatjes op 1 pagina
$locatie = "pics/" //map van afbeeldingen
$breedte = '550'; //breedte van de plaatjes
//hieronder hoeft niks veranderd te worden
$dir = opendir($locatie);
$nr = '1';
// 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);
$files[$nr] = $file;
$nr++;
}
}
$a0 = count($files);
$a1 = ($a0/$a);
$a2 = round($a1);
if ($a1 > $a2) {
$a2++;
}
$i = '1';
while ($i != ($a2 + 1)) {
if ($pagina == $i) {
$j = (($a * $i)-$a);
$afb = ($j + 1);
while ($j != ($a * $i)) {
if ($afb > $a0) {
$j = ($a * $i);
}
else {
echo "\n<a name = \"pic\"></a><img src=\"$locatie/$files[$afb]\" width=\"$breedte\" border=0> ";
$afb++;
$j++;
}
}
//pagina nummers met links
if($pagina == 1){
$l0 = ($pagina+1);
echo"\n<a href=\"" . $_SERVER['PHP_SELF'] . "?pagina=$l0\">volgende >></a>";
}
elseif($pagina == $a2){
$l1 = ($pagina-1);
echo"\n<a href=\"" . $_SERVER['PHP_SELF'] . "?pagina=$l1\"><< vorige </a>";
}
else{
$l2 = ($pagina-1);
$l3 = ($pagina+1);
echo"\n<a href=\"" . $_SERVER['PHP_SELF'] . "?pagina=$l2\"><< vorige</a> | ";
echo"\n<a href=\"" . $_SERVER['PHP_SELF'] . "?pagina=$l3\">volgende >></a>";
}
}
$i++;
?>
Gewijzigd op 01/01/1970 01:00:00 door Robin
@Arjan
Heb je een klein beetje kennis van PHP? Dan is het eenvoudig zelf te doen:
Pik een script dat de foto's uitleest en in een array zet. (die zijn er volgens mij wel, moet je 1 hebben die de bestanden sorteert)
Deze array zit als volgt in elkaar:
[0] => 'Afbeelding 1'
[1] => 'Afbeelding 2'
Enzovoorts.
Door de key (0, of 1 in dit geval) mee te geven als ?id=1 in de url van je vorige/ volgende link, die je kan laten maken door te kijken of nummer hoger is dan 0. (als dat het geval is, dan mag je wel een vorige link hebben, anders niet) En volgende is huidige id+1.
Op zich heel eenvoudig te maken/ aan te passen. Je hebt daar niet eens veel PHP kennis voor nodig.
Heb je een klein beetje kennis van PHP? Dan is het eenvoudig zelf te doen:
Pik een script dat de foto's uitleest en in een array zet. (die zijn er volgens mij wel, moet je 1 hebben die de bestanden sorteert)
Deze array zit als volgt in elkaar:
[0] => 'Afbeelding 1'
[1] => 'Afbeelding 2'
Enzovoorts.
Door de key (0, of 1 in dit geval) mee te geven als ?id=1 in de url van je vorige/ volgende link, die je kan laten maken door te kijken of nummer hoger is dan 0. (als dat het geval is, dan mag je wel een vorige link hebben, anders niet) En volgende is huidige id+1.
Op zich heel eenvoudig te maken/ aan te passen. Je hebt daar niet eens veel PHP kennis voor nodig.
'Robert_Deiman:
Nadeel is hier wel dat als je nu foto's aan de map toevoegt of verwijdert, het id van de foto's verandert. Ze komen immers op een andere plaats in de gesorteerde array te staan. Een bepaalde url hoeft dus niet per se altijd naar dezelfde foto te verwijzen.Door de key (0, of 1 in dit geval) mee te geven als ?id=1 in de url van je vorige/ volgende link
Wil je dat wel, dan zou ik dat met behulp van een database doen. De foto's zelf komen in een map op de server te staan maar de gegevens zoals id, bestandsnaam, etc komen in de database.
Dat is waar, maar als het er echt om gaat om door de foto's van een map te gaan, dan is het geen probleem. Daarbij: Als je sorteert op datum (dat kan ook namelijk) dan maakt het niets uit, de foto's die nieuwer zijn worden aan het eind toegevoegd. Nadeel is daarbij weer wel dat je geen foto's moet verwijderen.
Het is maar net wat er de bedoeling van is. Wil je met het script altijd alle foto's laten zien, dan kan het prima met die array. Anders is het zoals Blanche al zegt wel een aanrader om daar een database voor te gebruiken.
Het is maar net wat er de bedoeling van is. Wil je met het script altijd alle foto's laten zien, dan kan het prima met die array. Anders is het zoals Blanche al zegt wel een aanrader om daar een database voor te gebruiken.
Bedankt voor jullie reactie
het script geeft een fout melding aan op lijn 5 $breedte = "550"; //breedte van de plaatjes
de foutmelding is Parse error: syntax error, unexpected T_VARIABLE in /storage/mijndomein/users/000811/public/sites/www.sonny-fashion.nl/fotoalbum/album.php
ik weet niet wat er fout is ik heb de dir veranderd in de map waar de foto's staan en verder niks
graag hoor ik jullie reactie weer.
Arjan
het script geeft een fout melding aan op lijn 5 $breedte = "550"; //breedte van de plaatjes
de foutmelding is Parse error: syntax error, unexpected T_VARIABLE in /storage/mijndomein/users/000811/public/sites/www.sonny-fashion.nl/fotoalbum/album.php
ik weet niet wat er fout is ik heb de dir veranderd in de map waar de foto's staan en verder niks
graag hoor ik jullie reactie weer.
Arjan
Bedankt voor jullie reacties
ik heb het dankzij jullie hulp
Arjan
ik heb het dankzij jullie hulp
Arjan




