Php met Html combineren
Ik ben nieuw hier en heb zelf onlangs een website gemaakt. Graag wilde ik op een pagina foto's toevoegen en ik kwam deze site tegen. Ik vond de Automatisch Fotoalbum V3 van Arjen Kapteijn, maar wat ik ook doe, op de pagina komt alleen de code te staan die ik daar geplakt heb, ipv dat de foto's daar verschijnen. Graag zou ik willen weten wat ik fout doe, want de contactformulier van mijn website zit bijvoorbeeld ook zonder checks op dit moment. De code is als volgt:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>www.ANARGO.nl</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
<div id="logo">
<h1><a href="#">www.ANARGO.nl </a></h1>
<h2></h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
<li><A HREF="nieuws.html">Nieuws</A>
<li class="active"><a href="photos.html">Photos</a></li>
<li><a href="videos.html">Videos</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
<?php
$map = 'fotoalbum';
$afbeeldingen = array();
$hoogte_klein = 112;
$breedte_klein = 150;
$hoogte_groot = 400;
$breedte_groot = 700;
$perpagina = 12;
if(isset($_GET['album']) && !empty($_GET['album']))
{
$tmp = explode('/',$_GET['album']);
if($tmp[0] == $map)
{
$map = str_replace(array('.', '\\', ':'), '', $_GET['album']);
}
}
if(isset($_GET['paginanr']) && !empty($_GET['paginanr']) && ctype_digit($_GET['paginanr']))
{
$paginanr = $_GET['paginanr'];
}else{
$paginanr = 1;
}
if(isset($_GET['afbeelding']) && !empty($_GET['afbeelding']))
{
$afbeelding = $_GET['afbeelding'];
}else{
$afbeelding = NULL;
}
function thumbnail($afbeelding, $type)
{
$map = $afbeelding['dirname'];
$bestandsnaam = $afbeelding['basename'];
list($type, $hoogte, $breedte) = $type;
list($breedte_origineel, $hoogte_origineel, $extensie) = getimagesize($map.'/'.$bestandsnaam);
if(!is_dir($map.'/thumbs/'))
{
mkdir($map.'/thumbs/', 0777);
chmod($map.'/thumbs/', 0777);
}
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($extensie)
{
case 1:
//gif
$afbeelding_origineel = imagecreatefromgif($map.'/'.$bestandsnaam);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagegif($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam);
break;
case 2:
//jpg
$afbeelding_origineel = imagecreatefromjpeg($map.'/'.$bestandsnaam);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagejpeg($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam, 80);
break;
case 3:
//png
$afbeelding_origineel = imagecreatefrompng($map.'/'.$bestandsnaam);
$background = imagecolorallocate($afbeelding, 0, 0, 0);
imagecolortransparent($afbeelding, $background); // make the new temp image all transparent
imagealphablending($afbeelding, false); // turn off the alpha blending to keep the alpha channel
imagesavealpha($afbeelding, true);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagepng($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam);
break;
}
chmod($map.'/thumbs/'.$type.'_'.$bestandsnaam, 0777);
return TRUE;
}
$tmp = NULL;
foreach(explode('/',$map) as $tmp2)
{
echo '>> <a href="?pagina=fotoalbum&album='.$tmp.$tmp2.'">'.ucfirst($tmp2).'</a> ';
$tmp = $tmp.$tmp2.'/';
}
echo '<br><br>'.PHP_EOL;
if(!$bestanden = glob($map.'/*.*'))
{
$bestanden = array();
}
foreach($bestanden as $bestand)
{
$gegevens = getimagesize($bestand);
$extensie = $gegevens['mime'];
if($extensie == 'image/jpeg' || $extensie == 'image/gif' || $extensie == 'image/png')
{
$afbeeldingen[] = $bestand;
}
}
$aantalfotos = count($afbeeldingen);
if(isset($afbeelding))
{
foreach($afbeeldingen as $id => $naam)
{
if(basename($naam) == $afbeelding)
{
$fotonr = $id;
}
}
if(isset($fotonr))
{
$afbeelding = pathinfo($afbeeldingen[$fotonr]);
if($fotonr > 0)
{
$vorige_afbeelding = pathinfo($afbeeldingen[$fotonr-1]);
echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$vorige_afbeelding['basename'].'" title="Ga naar foto '.$vorige_afbeelding['basename'].'"><< Vorige</a>';
}else{
echo '<< Vorige';
}
echo ' Foto '.($fotonr +1).' van '.$aantalfotos.' ';
if($fotonr < $aantalfotos -1)
{
$volgende_afbeelding = pathinfo($afbeeldingen[$fotonr+1]);
echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$volgende_afbeelding['basename'].'" title="Ga naar foto '.$volgende_afbeelding['basename'].'">Volgende >></a><br>';
}else{
echo 'Volgende >><br>'.PHP_EOL;
}
if(!file_exists($afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename']))
{
if(thumbnail($afbeelding, array('groot', $hoogte_groot, $breedte_groot)))
{
echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<p>Sorry, deze foto bestaat niet!</p>';
}
}else{
if(!$mappen = glob($map.'/*', GLOB_ONLYDIR))
{
$mappen = array();
}
foreach($mappen as $album)
{
if(basename($album) != 'thumbs')
{
echo '<a href="?pagina=fotoalbum&album='.$album.'">'.ucfirst(basename($album)).'</a><br>'.PHP_EOL;
}
}
if($aantalfotos > $perpagina)
{
if ($paginanr > 1)
{
echo '<a href="?pagina=fotoalbum&album='.$map.'&paginanr='.($paginanr - 1).'" title="Ga naar pagina '.($paginanr - 1).'"><< Vorige</a>';
}else{
echo '<< Vorige';
}
echo ' Pagina '.$paginanr.' van '.ceil($aantalfotos/$perpagina).' ';
if ($paginanr < ceil(($aantalfotos)/$perpagina))
{
echo '<a href="?pagina=fotoalbum&album='.$map.'&paginanr='.($paginanr + 1).'" title="Ga naar pagina '.($paginanr + 1).'">Volgende >></a><br>';
}else{
echo 'Volgende >><br>'.PHP_EOL;
}
}
for($fotonr = (($paginanr -1) * $perpagina); $fotonr <= ((($paginanr -1) * $perpagina) + ($perpagina - 1)) && $fotonr < count($bestanden); $fotonr += 1)
{
$afbeelding = pathinfo($afbeeldingen[$fotonr]);
if(!file_exists($afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename']))
{
if(thumbnail($afbeelding, array('klein', $hoogte_klein, $breedte_klein)))
{
echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}
}
?>
$map = 'fotoalbum';
$afbeeldingen = array();
$hoogte_klein = 112;
$breedte_klein = 150;
$hoogte_groot = 400;
$breedte_groot = 700;
$perpagina = 12;
if(isset($_GET['album']) && !empty($_GET['album']))
{
$tmp = explode('/',$_GET['album']);
if($tmp[0] == $map)
{
$map = str_replace(array('.', '\\', ':'), '', $_GET['album']);
}
}
if(isset($_GET['paginanr']) && !empty($_GET['paginanr']) && ctype_digit($_GET['paginanr']))
{
$paginanr = $_GET['paginanr'];
}else{
$paginanr = 1;
}
if(isset($_GET['afbeelding']) && !empty($_GET['afbeelding']))
{
$afbeelding = $_GET['afbeelding'];
}else{
$afbeelding = NULL;
}
function thumbnail($afbeelding, $type)
{
$map = $afbeelding['dirname'];
$bestandsnaam = $afbeelding['basename'];
list($type, $hoogte, $breedte) = $type;
list($breedte_origineel, $hoogte_origineel, $extensie) = getimagesize($map.'/'.$bestandsnaam);
if(!is_dir($map.'/thumbs/'))
{
mkdir($map.'/thumbs/', 0777);
chmod($map.'/thumbs/', 0777);
}
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($extensie)
{
case 1:
//gif
$afbeelding_origineel = imagecreatefromgif($map.'/'.$bestandsnaam);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagegif($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam);
break;
case 2:
//jpg
$afbeelding_origineel = imagecreatefromjpeg($map.'/'.$bestandsnaam);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagejpeg($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam, 80);
break;
case 3:
//png
$afbeelding_origineel = imagecreatefrompng($map.'/'.$bestandsnaam);
$background = imagecolorallocate($afbeelding, 0, 0, 0);
imagecolortransparent($afbeelding, $background); // make the new temp image all transparent
imagealphablending($afbeelding, false); // turn off the alpha blending to keep the alpha channel
imagesavealpha($afbeelding, true);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagepng($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam);
break;
}
chmod($map.'/thumbs/'.$type.'_'.$bestandsnaam, 0777);
return TRUE;
}
$tmp = NULL;
foreach(explode('/',$map) as $tmp2)
{
echo '>> <a href="?pagina=fotoalbum&album='.$tmp.$tmp2.'">'.ucfirst($tmp2).'</a> ';
$tmp = $tmp.$tmp2.'/';
}
echo '<br><br>'.PHP_EOL;
if(!$bestanden = glob($map.'/*.*'))
{
$bestanden = array();
}
foreach($bestanden as $bestand)
{
$gegevens = getimagesize($bestand);
$extensie = $gegevens['mime'];
if($extensie == 'image/jpeg' || $extensie == 'image/gif' || $extensie == 'image/png')
{
$afbeeldingen[] = $bestand;
}
}
$aantalfotos = count($afbeeldingen);
if(isset($afbeelding))
{
foreach($afbeeldingen as $id => $naam)
{
if(basename($naam) == $afbeelding)
{
$fotonr = $id;
}
}
if(isset($fotonr))
{
$afbeelding = pathinfo($afbeeldingen[$fotonr]);
if($fotonr > 0)
{
$vorige_afbeelding = pathinfo($afbeeldingen[$fotonr-1]);
echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$vorige_afbeelding['basename'].'" title="Ga naar foto '.$vorige_afbeelding['basename'].'"><< Vorige</a>';
}else{
echo '<< Vorige';
}
echo ' Foto '.($fotonr +1).' van '.$aantalfotos.' ';
if($fotonr < $aantalfotos -1)
{
$volgende_afbeelding = pathinfo($afbeeldingen[$fotonr+1]);
echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$volgende_afbeelding['basename'].'" title="Ga naar foto '.$volgende_afbeelding['basename'].'">Volgende >></a><br>';
}else{
echo 'Volgende >><br>'.PHP_EOL;
}
if(!file_exists($afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename']))
{
if(thumbnail($afbeelding, array('groot', $hoogte_groot, $breedte_groot)))
{
echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<p>Sorry, deze foto bestaat niet!</p>';
}
}else{
if(!$mappen = glob($map.'/*', GLOB_ONLYDIR))
{
$mappen = array();
}
foreach($mappen as $album)
{
if(basename($album) != 'thumbs')
{
echo '<a href="?pagina=fotoalbum&album='.$album.'">'.ucfirst(basename($album)).'</a><br>'.PHP_EOL;
}
}
if($aantalfotos > $perpagina)
{
if ($paginanr > 1)
{
echo '<a href="?pagina=fotoalbum&album='.$map.'&paginanr='.($paginanr - 1).'" title="Ga naar pagina '.($paginanr - 1).'"><< Vorige</a>';
}else{
echo '<< Vorige';
}
echo ' Pagina '.$paginanr.' van '.ceil($aantalfotos/$perpagina).' ';
if ($paginanr < ceil(($aantalfotos)/$perpagina))
{
echo '<a href="?pagina=fotoalbum&album='.$map.'&paginanr='.($paginanr + 1).'" title="Ga naar pagina '.($paginanr + 1).'">Volgende >></a><br>';
}else{
echo 'Volgende >><br>'.PHP_EOL;
}
}
for($fotonr = (($paginanr -1) * $perpagina); $fotonr <= ((($paginanr -1) * $perpagina) + ($perpagina - 1)) && $fotonr < count($bestanden); $fotonr += 1)
{
$afbeelding = pathinfo($afbeeldingen[$fotonr]);
if(!file_exists($afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename']))
{
if(thumbnail($afbeelding, array('klein', $hoogte_klein, $breedte_klein)))
{
echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}else{
echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
}
}
}
?>
</body>
</html>
Heeft de bestandsnaam wel een .php extentie i.p.v. .html?
2) Als je de PHP code zelf kan zien, heb je waarschijnlijk dit vergeten:
(dus php openen/sluiten)
Want dan zou je inderdaad de PHP code zien. Dan wordt de code uitgevoerd als HTML en simpelweg op het scherm gegooid.
Gewijzigd op 11/06/2011 23:52:35 door Dennis de Swart
Ik denk meer dat:
- hij de extentie vergeten is (index.html- > index.php)
- geen php-ondersteuning heeft op de server.
1) Zijn hosting is Mijndomein (volgens SIDN) en die hebben standaard PHP actief?
2) Als je HTML extensie gebruikt, dan wordt de PHP code niet uitgevoerd, maar dan is de code ook niet zichtbaar, toch? Hij geeft aan dat de code wel zichtbaar is. Althans, zo begrijp ik dat uit zijn verhaal.
Laat hij eerst even de besproken oplossingen proberen en dan horen we het wel.
Gewijzigd op 12/06/2011 00:25:30 door Dennis de Swart
Dennis de Swart op 11/06/2011 23:58:45:
2) Als je HTML extensie gebruikt, dan wordt de PHP code niet uitgevoerd, maar dan is de code ook niet zichtbaar, toch?
Helaas, echt wel zichtbaar.
Gr Gor Grigorian
Even renamen, en het zou moeten werken.
Het maakt niet uit of je de PHP tussen de <body> tags neerzet, maar om je code XHTML valid te houden moet je wél zorgen dat output binnen de <body> tags komt.
Je kunt HTML ook in PHP printen / echo-en, zo bijvoorbeeld:
Om dat echter overal bij je code te doen is in mijn ogen echt zonde. Als je grote lappen HTML hebt die ergens tussen moet, sluit PHP dan af, zet je HTML neer en open PHP dan weer (als je nog meer PHP code hebt):
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php if ($ingelogd): ?>
<p class="iets">
Gebruiker is ingelogd.
</p>
<a href="..">Profiel</a><br />
<a href="..">Uitloggen</a>
<?php endif; ?>
<p class="iets">
Gebruiker is ingelogd.
</p>
<a href="..">Profiel</a><br />
<a href="..">Uitloggen</a>
<?php endif; ?>
Dat houdt de overzichtelijkheid beter.
Gewijzigd op 12/06/2011 15:24:31 door Erik van de Locht
Gr. Gor Grigorian