foutmelding bij verwijzen naar map
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
63
64
65
66
67
68
69
70
71
72
73
74
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
63
64
65
66
67
68
69
70
71
72
73
74
<?php
echo '<h1>Fotoalbum</h1>';
$directories = array();
$bestanden = array();
$map = 'site/fotoalbum/';
$hoogte_klein = 150;
$breedte_klein = 100;
$hoogte_groot = 600;
$breedte_groot = 400;
$afbeeldingenperpagina = 50;
//functie, voor het opruimen van een array.
function arraySchoonmaken($array) {
foreach ($array as $index => $value) {
if (empty($value)) unset($array[$index]);
}
return $array;
}
function thumbnail($map,$thumblocatie,$bestandsnaam,$breedte,$hoogte)
{
list($breedte_origineel, $hoogte_origineel, $type) = getimagesize($map.$bestandsnaam);
if (($breedte_origineel < $hoogte_origineel) && ($breedte > $hoogte)) {
$breedte = ($hoogte / $hoogte_origineel) * $breedte_origineel;
}else{
$hoogte = ($breedte / $breedte_origineel) * $hoogte_origineel;
}
$afbeelding = imagecreatetruecolor($breedte, $hoogte);
switch ($type)
{
case 1:
FF STUK TUSSEN UITGEHAALD ANDERS WERD HET ZO LANG
}
}
if(isset($_GET['map']) && !empty($_GET['map']))
{
$map = str_replace(array(".", "\\", ":"), " ", $_GET['map']).'/';
}
//Die get variabele halen we uit elkaar zodat we alle losse mappen hebben in een array.
$mappen = arraySchoonmaken(explode('/', $map));
$aantal = count($mappen)+1;
if($mappen[0] != 'fotoalbum')
{
echo 'Ey kappen nou! Je maakt hem kapot! HET GAATOM DEZE FOUT';
exit();
}
for($z = 1; $z < $aantal; $z++)
{
$temp = NULL;
for($y = 0; $y < $z; $y++)
{
if($mappen[$y] == 'fotoalbum')
{
$temp .= $mappen[$y];
}else{
$temp .= 'foto/'.$mappen[$y];
}
}
echo ' >> <a href="index.php?pag=paginas/foto/fotos?map='.$temp.'">'.ucfirst($mappen[$z-1]).'</a>';
}
echo '<hr>';
echo '<h1>Fotoalbum</h1>';
$directories = array();
$bestanden = array();
$map = 'site/fotoalbum/';
$hoogte_klein = 150;
$breedte_klein = 100;
$hoogte_groot = 600;
$breedte_groot = 400;
$afbeeldingenperpagina = 50;
//functie, voor het opruimen van een array.
function arraySchoonmaken($array) {
foreach ($array as $index => $value) {
if (empty($value)) unset($array[$index]);
}
return $array;
}
function thumbnail($map,$thumblocatie,$bestandsnaam,$breedte,$hoogte)
{
list($breedte_origineel, $hoogte_origineel, $type) = getimagesize($map.$bestandsnaam);
if (($breedte_origineel < $hoogte_origineel) && ($breedte > $hoogte)) {
$breedte = ($hoogte / $hoogte_origineel) * $breedte_origineel;
}else{
$hoogte = ($breedte / $breedte_origineel) * $hoogte_origineel;
}
$afbeelding = imagecreatetruecolor($breedte, $hoogte);
switch ($type)
{
case 1:
FF STUK TUSSEN UITGEHAALD ANDERS WERD HET ZO LANG
}
}
if(isset($_GET['map']) && !empty($_GET['map']))
{
$map = str_replace(array(".", "\\", ":"), " ", $_GET['map']).'/';
}
//Die get variabele halen we uit elkaar zodat we alle losse mappen hebben in een array.
$mappen = arraySchoonmaken(explode('/', $map));
$aantal = count($mappen)+1;
if($mappen[0] != 'fotoalbum')
{
echo 'Ey kappen nou! Je maakt hem kapot! HET GAATOM DEZE FOUT';
exit();
}
for($z = 1; $z < $aantal; $z++)
{
$temp = NULL;
for($y = 0; $y < $z; $y++)
{
if($mappen[$y] == 'fotoalbum')
{
$temp .= $mappen[$y];
}else{
$temp .= 'foto/'.$mappen[$y];
}
}
echo ' >> <a href="index.php?pag=paginas/foto/fotos?map='.$temp.'">'.ucfirst($mappen[$z-1]).'</a>';
}
echo '<hr>';
Gewijzigd op 01/01/1970 01:00:00 door Test test
Bestaat die map wel?, heeft het ook schrijf rechten?
Ja heb het wel naderhand veranderd
Map bestaat ook en heeft ook schrijfrechten!!
Ofwel, je maakt een array aan waarin de verschillende mappen uit het pad komen te staan.
En vervolgens doe je dit:
Als jij voor $map dus 'site/fotoalbum' gaat invullen, is $mappen[0] niet meer gelijk aan 'fotoalbum' maar aan 'site'. Dat is de reden dat die foutmelding gegeven wordt...
Wanneer ik die code weghaal doet hij het wel. Maar komen er allemaal andere fout meldingen..
MAar ga nu ff slapen, probeer morgen wel verder;)
Dat is toch precies wat ik zeg?! Lees mijn post nu nog eens, daarin leg ik precies uit waarom het niet werkt als je 'site/fotoalbum' invult...
Maar hoe moet je het anders veranderen, wanneer je de pagina included?
Ik zie het nut van die hele controle niet? Wat wil je ermee bereiken, zoals ik het zie levert alleen maar een beperking op...
../../../
Arjan Kapteijn schreef op 10.02.2008 11:30:
Dat hou je met die controle niet tegen. In het geval van fotoalbum/../../../map, zal mappen[0] nog steeds 'fotoalbum' zijn...../../../
Maar goed, bij het controleren van de GET variabele 'map' wordt ook al een str_replace() uitgevoerd.
Ik vind de hele werking van dit script sowieso vreemd. Wat zou de laatste for-loop bijvoorbeeld moeten doen. De variabele $temp wordt bijvoorbeeld elke keer weer geleegd en zal dus alleen de waarden bevatten die in de laatste loop ($z < $aantal) erin gezet worden...