Uploader+Resizer
Auteur: TFOL - 23 april 2005 - 10:57 - Gekeurd door: CelestialCelebi - Hits: 17448 - Aantal punten: 1.00 (4 stemmen)
Hallo
ik heb een uploadscript gemaakt, dat een foto resized als het nodig is
let op:
fotoalbum.php en show_foto.php heb ik niet gemaakt, deze komen van phpfreakz
het enigste dat je moet dan is het veranderen van config.php en alle bestand in dezelfde map plaatsen.
Grtn Robin
|
Code: |
config.php
<?php
//wijzig de gegevens die hieronder staan
$titel = "Upload+Resize-System"; //titel
$bgcolor = "#FFFFFF"; //achtergrondkleur
$text = "#000000"; //textkleur
$loc = "http://www.jesitenaam.nl"; //locatie waar je de bestanden hebt geplaatst (upload.php EN upload2.php)
$css = "stylesheet.css"; //maak je gebruik van een css-bestand? laat leeg als je die niet gebruikt
$max_breedte = "550"; //maximale breedte. als een foto breder is, wordt hij geresized
//je bent klaar, verander hieronder niks meer. veel (upload)plezier.
if($css == "")
{
$css_tag = "";
}
else
{
$css_tag = "<link rel=\"StyleSheet\" href=\"$css\">";
}
?>
<?php //wijzig de gegevens die hieronder staan $titel = "Upload+Resize-System"; //titel $bgcolor = "#FFFFFF"; //achtergrondkleur $text = "#000000"; //textkleur $loc = "http://www.jesitenaam.nl"; //locatie waar je de bestanden hebt geplaatst (upload.php EN upload2.php) $css = "stylesheet.css"; //maak je gebruik van een css-bestand? laat leeg als je die niet gebruikt $max_breedte = "550"; //maximale breedte. als een foto breder is, wordt hij geresized //je bent klaar, verander hieronder niks meer. veel (upload)plezier. if($css == "") { $css_tag = ""; } else { $css_tag = "<link rel=\"StyleSheet\" href=\"$css\">"; } ?>
upload.php
<html>
<?php
error_reporting(E_ALL);
include("config.php");
?>
<head>
<title><?php echo("$titel"); ?></title>
<?php
echo("$css_tag");
?>
</head>
<?php
echo("<body bgcolor=\"$bgcolor\" text=\"$text\">");
if(isset($_POST['verder']))
{
$aantal = $_POST['aantal'];
$dir = $_POST['albnaam'];
if(!is_dir($dir))
{
mkdir($dir);
echo("Je album is gegenereerd, <a href=\"http://www.treinfoto-online.net/Fotoalbum/2004/upload2.php?aantal=$aantal&dir=$dir\"><b>Klik hier</b></a> om je foto's te uploaden<br><br>");
}
else
{
echo("Deze album bestaat al, kies een andere albumnaam aub");
}
}
?>
<form method="POST" action="">
<b>Albumnaam:</b> <input type="text" name="albnaam"/> (!!GEEN spaties!!)<br><br>
<b>Aantal:</b> <input type="text" name="aantal" size="2"/> (hoeveel foto's je wilt uploaden)<br>
<input type="submit" name="verder" value="Ga verder met uploaden!"/>
</form>
<hr>
<p align="center"><b>GuestPhotoAlbum-System ©Robin Esselink, <a href="www.treinfoto-online.net">www.treinfoto-online.net</a></b></p>
</body>
</html>
<html> <?php include("config.php"); ?> <head> <title> <?php echo("$titel"); ?></title> <?php ?> </head> <?php echo("<body bgcolor=\"$bgcolor\" text=\"$text\">"); if(isset($_POST['verder'])) { $aantal = $_POST['aantal']; $dir = $_POST['albnaam']; { echo("Je album is gegenereerd, <a href=\"http://www.treinfoto-online.net/Fotoalbum/2004/upload2.php?aantal=$aantal&dir=$dir\"><b>Klik hier</b></a> om je foto's te uploaden<br><br>"); } else { echo("Deze album bestaat al, kies een andere albumnaam aub"); } } ?> <form method="POST" action=""> <b>Albumnaam:</b> <input type="text" name="albnaam"/> (!!GEEN spaties!!)<br><br> <b>Aantal:</b> <input type="text" name="aantal" size="2"/> (hoeveel foto's je wilt uploaden)<br> <input type="submit" name="verder" value="Ga verder met uploaden!"/> </form> <hr> <p align="center"><b>GuestPhotoAlbum-System ©Robin Esselink, <a href="www.treinfoto-online.net">www.treinfoto-online.net</a></b></p> </body> </html>
upload2.php
<html>
<?php
error_reporting(E_ALL);
include("config.php");
?>
<head>
<title><?php echo("$titel"); ?></title>
<link rel="StyleSheet" href="tfol-nieuw.css">
</head>
<?php
echo("<body bgcolor=\"$bgcolor\" text=\"$text\">");
?>
<form method="POST" action="" enctype="multipart/form-data">
<?php
$dir = $_GET['dir'];
$a_velden = $_GET['aantal'];
$i= 0;
while($i++ < $a_velden)
{
echo("<b>Foto $i:</b> <input type=\"file\" name=\"$i\"/>");?><br><br><?
if(isset($_POST['uploaden']))
{
$tmp_bestand = $_FILES[$i]['tmp_name'];
$bestand = $_FILES[$i]['name'];
move_uploaded_file($tmp_bestand, $dir."/".$bestand);
chmod ($dir."/".$bestand, 0777);
$bron = imagecreatefromjpeg($dir."/".$bestand) or die ("Jpg probleempje");
$b_breedte = imagesx($bron); // Bron breedte
$b_hoogte = imagesy($bron); // bron hoogte
//verhouding berekenen
$verhouding = $b_breedte / $max_breedte;
//breedte berekenen en afronden
$nieuw_breedte = round($b_breedte / $verhouding);
//hoogte berekenen en afronden
$nieuw_hoogte = round($b_hoogte / $verhouding);
if ($b_breedte > $max_breedte) {
$nieuw_jpg = imagecreatetruecolor($nieuw_breedte ,$nieuw_hoogte) or die ("Probleem met maken van plaatje jpg");
imagecopyresampled($nieuw_jpg, $bron, 0, 0, 0, 0, $nieuw_breedte, $nieuw_hoogte, $b_breedte, $b_hoogte);
Imagejpeg($nieuw_jpg,$dir."/".$bestand,120); //80 is jpg kwaliteit
} // einde resizen
echo("<a href=\"$loc/fotoalbum.php?album=./$dir\"><b>Klik hier</b></a> om je album te bekijken<br><br>");
echo("<a href=\"$loc/upload.php\"><b>Klik hier</b></a> om nog een album aan te maken");
} // einde if 'uploaden'
} // einde while
?>
<input type="submit" name="uploaden" value="Uploaden!"/>
</form>
<hr>
<p align="center"><b>GuestPhotoAlbum-System ©Robin Esselink, <a href="www.treinfoto-online.net">www.treinfoto-online.net</a></b></p>
</body>
</html>
<html> <?php include("config.php"); ?> <head> <title> <?php echo("$titel"); ?></title> <link rel="StyleSheet" href="tfol-nieuw.css"> </head> <?php echo("<body bgcolor=\"$bgcolor\" text=\"$text\">"); ?> <form method="POST" action="" enctype="multipart/form-data"> <?php $dir = $_GET['dir']; $a_velden = $_GET['aantal']; $i= 0; while($i++ < $a_velden) { echo("<b>Foto $i:</b> <input type=\"file\" name=\"$i\"/>");? ><br><br> <? if(isset($_POST['uploaden'])) { $tmp_bestand = $_FILES[$i]['tmp_name']; $bestand = $_FILES[$i]['name']; chmod ($dir."/".$bestand, 0777); $bron = imagecreatefromjpeg ($dir."/".$bestand) or die ("Jpg probleempje"); $b_breedte = imagesx($bron); // Bron breedte $b_hoogte = imagesy($bron); // bron hoogte //verhouding berekenen $verhouding = $b_breedte / $max_breedte; //breedte berekenen en afronden $nieuw_breedte = round($b_breedte / $verhouding); //hoogte berekenen en afronden $nieuw_hoogte = round($b_hoogte / $verhouding); if ($b_breedte > $max_breedte) { $nieuw_jpg = imagecreatetruecolor ($nieuw_breedte ,$nieuw_hoogte) or die ("Probleem met maken van plaatje jpg"); imagecopyresampled($nieuw_jpg, $bron, 0, 0, 0, 0, $nieuw_breedte, $nieuw_hoogte, $b_breedte, $b_hoogte); Imagejpeg($nieuw_jpg,$dir."/".$bestand,120); //80 is jpg kwaliteit } // einde resizen echo("<a href=\"$loc/fotoalbum.php?album=./$dir\"><b>Klik hier</b></a> om je album te bekijken<br><br>"); echo("<a href=\"$loc/upload.php\"><b>Klik hier</b></a> om nog een album aan te maken"); } // einde if 'uploaden' } // einde while ?> <input type="submit" name="uploaden" value="Uploaden!"/> </form> <hr> <p align="center"><b>GuestPhotoAlbum-System ©Robin Esselink, <a href="www.treinfoto-online.net">www.treinfoto-online.net</a></b></p> </body> </html>
fotoalbum.php
<?php
include("config.php");
//
// fotoalbum.php
//
// Zet dit bestand ergens op je webserver, en maak opdezelfde plaats
// mappen, gevuld met fotos aan. Iedere map wordt gezien als album.
// Een map kan weer gevuld worden met submappen, of met zowel submappen
// als foto's. Iedere submap wordt dan weer als een nieuw album gezien.
// Deze mappen structuur kan oneindig diep worden.
//
// Het fotoalbum laat, bij geen opgave in de adresbalk,
// een overzicht van de albums zien, met de bijbehorende link.
// Wanneer een album is geselecteerd, worden de foto's van dat album
// weergegeven.
//
// Werkwijze: album-map wordt doorgelopen, en subalbums en foto's worden
// in een array gezet. Vervolgens worden eerst alle subalbums afgedrukt,
// en daarna wordt er gezocht naar een thumbnail in de thumbs map.
//
// Bestaat er geen thumbnail, dan wordt deze voor jpg/jpeg's aangemaakt
//
// Is er om een specifiek album gevraagd...?
if (isset($_GET['album'])) {
$album = $_GET['album'];
} else {
$album = ".";
}
// Is er om een specifieke pagina gevraagd...?
if (isset($_GET['page'])) {
$page = $_GET['page'];
} else {
$page = 0;
}
// Configuratie
$cols = "4"; // Aantal kolommen
$rows = "3"; // aantal rijen
$max_thumb_width = "120"; // Maximale breedte van een thumbnail
$max_thumb_height = "90"; // Maximale hoogte van een thumbnail
$thumbs = "$album/thumbs"; // directory waar thumbnails in staan
$header = eregi_replace("_", " ", $album);
if ($cols % 2 == 0) {
$colspan = "";
} else {
$colspan = "colspan=2";
}
?>
<html>
<head>
<title><?php echo("$titel"); ?></title>
<?php
echo("$css_tag");
?>
</head>
<?php
echo("<body bgcolor=\"$bgcolor\" text=\"$text\">");
?>
<div align="center">
<?php
// Is er een niet bestaand album gevraagd...?
if ($album != "" && !is_dir($album)) {
// Foutmelding weergeven
echo "<h2>Fout:</h2>\n";
echo "<p>Het door u gevraagde album bestaat niet. Selecteer een album uit de lijst hieronder.</p>\n";
// Album leegmaken, zodat album-overzicht wordt weergegeven
$album = ".";
}
// Huidige directory openen
$mydir = opendir($album);
// indexen op nul zetten
$aantal_subdirs = 0;
$aantal_fotos = 0;
// Alle bestanden in de huidige directory doorlopen
while ($filename = readdir($mydir)) {
// Alle subdirectories in array opslaan
if (is_dir($album."/".$filename) && $filename != "." && $filename != ".." && $filename != "thumbs") {
$subdir[$aantal_subdirs] = $filename;
$aantal_subdirs++;
}
// Alle plaatjes in array opslaan
if (is_file ($album."/".$filename) && eregi("\.jpg$|\.jpeg$|\.gif$|\.bmp$|\.png$", $filename)) {
$foto[$aantal_fotos] = $filename;
$aantal_fotos++;
}
}
// Directory weer sluiten...
closedir($mydir);
// Directory structuur vastleggen in array...
$map = $album;
$i = 1;
$directory_tree[0] = $map;
while ($map != ".") {
$last_slash_pos = strlen($map) - strpos(strrev($map), "/");
$map = substr ($map, 0, $last_slash_pos - 1);
$directory_tree[$i] = $map;
$i++;
}
// Rij met links naar albumoverzicht/subalbums weergeven....
for ($i = count ($directory_tree) - 1 ; $i >= 0; $i--) {
$last_slash_pos = strlen($directory_tree[$i]) - strpos(strrev($directory_tree[$i]), "/");
$directory_name = substr($directory_tree[$i], $last_slash_pos);
$directory_name = eregi_replace("_", " ", $directory_name);
if ($directory_name != "") {
echo " > ";
}
echo "<a href=\"http://www.treinfoto-online.net/Fotoalbum/fotoalbum.php?album=$directory_tree[$i]&pid=1\">";
if ($directory_name != "") {
echo $directory_name;
} else {
echo "Fotoalbums";
}
echo "</a>";
}
echo "<hr><br>";
// Subalbums weergeven :
if ($aantal_subdirs > 0) {
sort ($subdir);
echo "<table>\n";
for ($i =0; $i < $aantal_subdirs; $i++) {
$directory_name = eregi_replace("_", " ", $subdir[$i]);
echo "<tr><td><a href=http://www.treinfoto-online.net/Fotoalbum/fotoalbum.php?pid=1&album=$album/$subdir[$i]>$directory_name</a></td></tr>\n";
}
echo "</table>";
}
// Foto's pagina weergeven
if ($aantal_fotos > 0) {
// sorteren op alfabet...
sort ($foto);
// eerste en laatste foto op deze pagina bepalen...
$eerste_foto = (($page * $cols * $rows) + 1);
$laatste_foto = (($page + 1) * $cols * $rows);
// tabel beginnen...
echo "<table border=0 cellpadding=10 cellspacing=0><tr>\n";
// alleen foto's tussen eerste en laatste foto afdrukken...
for ($i = $eerste_foto - 1; ($i < $aantal_fotos) && ($i < $laatste_foto); $i++) {
ClearStatCache();
// Afmetingen van foto bepalen...
$size = GetImageSize("$album/$foto[$i]");
// Afmeting van Window bepalen...
$size[0] = $size[0] + 25;
$size[1] = $size[1] + 45;
// bestandsgrootte bepalen...
$file_size = fileSize("$album/$foto[$i]");
$file_size = round($file_size / 1000) . "k";
// Extensie van bestand afhakken, en daarna alle "_" vervangen door " "
$display = eregi_replace(".jpg|.jpeg|.gif|.bmp|.png", "", $foto[$i]);
$display = eregi_replace("_", " ", $display);
// Veld in tabel weergeven...
echo ("<td $colspan><a href=\"$album/$foto[$i]\" onmouseover=\"window.status='Vergroten';return true;\"
onmouseout=\"window.status=''; return true\"
onclick=\"window.open('show_foto.php?album=$album&fotonr=$i', 'pix$i', 'width=$size[0], height=$size[1], innerwidth=$size[0], innerheight=$size[1], directories=no, location=no, menubar=no, scrollbars=no, status=no, toolbar=no, resizable=no, top=0, left=0, leftmargin=0, topmargin=0, marginwidth=0, marginheight=0, screenX=0, screenY=0' ); return false\">\n");
$entry_without_ext = eregi_replace("\.jpg$|\.jpeg$|\.gif$|\.bmp$|\.png$", "", $foto[$i]);
// Bestaat thumb?
switch (true) {
case (is_file($thumbs."/".$entry_without_ext.".jpg")):
$thumbnail = $thumbs."/".$entry_without_ext.".jpg";
break;
case (is_file($thumbs."/".$entry_without_ext.".jpeg")):
$thumbnail = $thumbs."/".$entry_without_ext.".jpeg";
break;
case (is_file($thumbs."/".$entry_without_ext.".gif")):
$thumbnail = $thumbs."/".$entry_without_ext.".gif";
break;
case (is_file($thumbs."/".$entry_without_ext.".bmp")):
$thumbnail = $thumbs."/".$entry_without_ext.".bmp";
break;
case (is_file($thumbs."/".$entry_without_ext.".png")):
$thumbnail = $thumbs."/".$entry_without_ext.".png";
break;
default:
$thumbnail = "";
}
if ($thumbnail == "") {
// Thumb bestaat niet
if (! eregi("\.jpg$|\.jpeg$", $foto[$i])) {
// Andere formaten dan jpg of jpeg zitten niet ingebouwd...
echo "Geen thumbnail beschikbaar...<br>\n";
} else {
// Voor jpg/jpeg formaat: thumbnail maken
// Als nog geen directory voor de thumbs bestaat, deze aanmaken...
if (! is_dir ($thumbs)) {
mkdir("$thumbs");
}
// Thumbs aanmaken kan even duren, voor iedere thumb de timeout klok
// resetten, en een maximum van 20 seconden per thumb instellen.
set_time_limit(20);
// Voorlopig alleen jpp/jpeg support...
// Voor het aanmaken van thumbs bij gif en png, moet hier wat worden bijgebouwd...
$photo = imagecreatefromjpeg ("$album/$foto[$i]");
// afmetingen bepalen
$photo_width = imagesx ($photo);
$photo_height = imagesy ($photo);
// minimaal een van de afmetingen is groter dan $max_thumb..?
if ($photo_width > $max_thumb_width || $photo_height > $max_thumb_height) {
// langwerpiger dan thumb??
if ($photo_width / $photo_height > $max_thumb_width / $max_thumb_height) {
// Langwerpiger dan thumb, de breedte van de thumb is bepalend
$new_thumb_width = $max_thumb_width;
// Hoogte berekenen:
$value = $photo_width / $max_thumb_width;
$new_thumb_height = round ($photo_height / $value);
} else { // niet langwerpiger...
// De hoogte van de thumb is bepalend...
$new_thumb_height = $max_thumb_height;
// Breedte berekenen
$value = $photo_height / $max_thumb_height;
$new_thumb_width= round ($photo_width / $value);
}
} else {
// Foto is al klein genoeg, afmetingen worden overgenomen
$new_thumb_width = $photo_width;
$new_thumb_height = $photo_height;
}
// plaatje aanmaken, met de juiste afmetingen...
$create_thumb = imagecreatetruecolor ($new_thumb_width, $new_thumb_height);
// Plaatje kopieren en "resamplen"
imagecopyresampled (
$create_thumb,
$photo,
0, 0, 0, 0,
$new_thumb_width,
$new_thumb_height,
$photo_width,
$photo_height);
// Bestand wegschrijven
ImageJpeg ($create_thumb, $thumbs."/".$entry_without_ext.".jpg", 90);
// thumbnail bestaat nu toch...
$thumbnail = $thumbs."/".$entry_without_ext.".jpg";
// Geheugen opschonen
Imagedestroy($photo);
} // endif: Formaat van foto = jpg of jpeg
} // endif: Thumbnail bestaat niet
$thumbsize = GetImageSize($thumbnail);
// Thumbnail weergeven...
echo "<img src='$thumbnail' border=0 width=$thumbsize[0] height=$thumbsize[1] alt=$i>\n";
// Titel onder thumbnail weergeven...
echo "</a><br>$display<br><br></td>\n\n";
// Einde van de row...?
if (($i % $cols) == $cols -1 ) {
echo "</tr>\n<tr>\n";
}
} // endfor: Alle plaatjes doorlopen...
$pages = ($aantal_fotos / ($cols * $rows));
$nextpage = ($page + 1);
$prevpage = ($page - 1);
// bepalen of er wel of geen volgende en vorige moeten worden weergegeven...
if (($page + 1) < $pages) {
// aantal op volgende pagina berekenen:
$aantal_op_volgende = $aantal_fotos - $nextpage * $rows * $cols;
// wanneer dit meer dan het aantal op één pagina is, dit terugschroeven tot het aantal op één pagina.
if ($aantal_op_volgende > $rows * $cols) {
$aantal_op_volgende = $rows * $cols;
}
// aantal op volgende is 1: in enkelvoud weergeven, anders aantal specificeren.
if ($aantal_op_volgende == 1) {
$volgende = "<a href=?album=$album&page=$nextpage&pid=1>Volgende foto </a>";
} else {
$volgende = "<a href=?album=$album&page=$nextpage&pid=1>Volgende ". $aantal_op_volgende ." foto's </a>";
}
} else {
$volgende = "";
}
if (($page+1) > "1") {
// aantal op vorige is 1: in enkelvoud weergeven, anders aantal specificeren.
if ($rows * $cols > 1) {
$vorige = "<a href=?album=$album&page=$prevpage&pid=1>Vorige ". ($rows * $cols) ." foto's </a>";
} else {
$vorige = "<a href=?album=$album&page=$prevpage&pid=1>Vorige foto </a>";
}
} else {
$vorige = "";
}
if ($cols % 2 == 1) {
$footer_colspan = "colspan=$cols";
} else {
$footer_colspan = "colspan=" . ($cols / 2);
}
// Footer, dit staat onder de tabel.
echo "</tr><tr><td $footer_colspan align=right> $vorige </td>\n";
echo "<td $footer_colspan align=left> $volgende </td>\n";
echo "</tr>\n";
echo "</table>\n";
} // endif: Fotoalbum afdrukken...?
?>
</div>
</body>
</html>
<?php include("config.php"); // // fotoalbum.php // // Zet dit bestand ergens op je webserver, en maak opdezelfde plaats // mappen, gevuld met fotos aan. Iedere map wordt gezien als album. // Een map kan weer gevuld worden met submappen, of met zowel submappen // als foto's. Iedere submap wordt dan weer als een nieuw album gezien. // Deze mappen structuur kan oneindig diep worden. // // Het fotoalbum laat, bij geen opgave in de adresbalk, // een overzicht van de albums zien, met de bijbehorende link. // Wanneer een album is geselecteerd, worden de foto's van dat album // weergegeven. // // Werkwijze: album-map wordt doorgelopen, en subalbums en foto's worden // in een array gezet. Vervolgens worden eerst alle subalbums afgedrukt, // en daarna wordt er gezocht naar een thumbnail in de thumbs map. // // Bestaat er geen thumbnail, dan wordt deze voor jpg/jpeg's aangemaakt // // Is er om een specifiek album gevraagd...? if (isset($_GET['album'])) { $album = $_GET['album']; } else { $album = "."; } // Is er om een specifieke pagina gevraagd...? if (isset($_GET['page'])) { $page = $_GET['page']; } else { $page = 0; } // Configuratie $cols = "4"; // Aantal kolommen $rows = "3"; // aantal rijen $max_thumb_width = "120"; // Maximale breedte van een thumbnail $max_thumb_height = "90"; // Maximale hoogte van een thumbnail $thumbs = "$album/thumbs"; // directory waar thumbnails in staan if ($cols % 2 == 0) { $colspan = ""; } else { $colspan = "colspan=2"; } ?> <html> <head> <title> <?php echo("$titel"); ?></title> <?php ?> </head> <?php echo("<body bgcolor=\"$bgcolor\" text=\"$text\">"); ?> <div align="center"> <?php // Is er een niet bestaand album gevraagd...? if ($album != "" && !is_dir($album)) { // Foutmelding weergeven echo "<p>Het door u gevraagde album bestaat niet. Selecteer een album uit de lijst hieronder.</p>\n"; // Album leegmaken, zodat album-overzicht wordt weergegeven $album = "."; } // Huidige directory openen // indexen op nul zetten $aantal_subdirs = 0; $aantal_fotos = 0; // Alle bestanden in de huidige directory doorlopen while ($filename = readdir($mydir)) { // Alle subdirectories in array opslaan if (is_dir($album."/".$filename) && $filename != "." && $filename != ".." && $filename != "thumbs") { $subdir[$aantal_subdirs] = $filename; $aantal_subdirs++; } // Alle plaatjes in array opslaan if (is_file ($album."/".$filename) && eregi("\.jpg$|\.jpeg$|\.gif$|\.bmp$|\.png$", $filename)) { $foto[$aantal_fotos] = $filename; $aantal_fotos++; } } // Directory weer sluiten... // Directory structuur vastleggen in array... $map = $album; $i = 1; $directory_tree[0] = $map; while ($map != ".") { $map = substr ($map, 0, $last_slash_pos - 1); $directory_tree[$i] = $map; $i++; } // Rij met links naar albumoverzicht/subalbums weergeven.... for ($i = count ($directory_tree) - 1 ; $i >= 0; $i--) { $directory_name = substr($directory_tree[$i], $last_slash_pos); if ($directory_name != "") { echo " > "; } echo "<a href=\"http://www.treinfoto-online.net/Fotoalbum/fotoalbum.php?album=$directory_tree[$i]&pid=1\">"; if ($directory_name != "") { } else { } } // Subalbums weergeven : if ($aantal_subdirs > 0) { for ($i =0; $i < $aantal_subdirs; $i++) { echo "<tr><td><a href=http://www.treinfoto-online.net/Fotoalbum/fotoalbum.php?pid=1&album=$album/$subdir[$i]>$directory_name</a></td></tr>\n"; } } // Foto's pagina weergeven if ($aantal_fotos > 0) { // sorteren op alfabet... // eerste en laatste foto op deze pagina bepalen... $eerste_foto = (($page * $cols * $rows) + 1); $laatste_foto = (($page + 1) * $cols * $rows); // tabel beginnen... echo "<table border=0 cellpadding=10 cellspacing=0><tr>\n"; // alleen foto's tussen eerste en laatste foto afdrukken... for ($i = $eerste_foto - 1; ($i < $aantal_fotos) && ($i < $laatste_foto); $i++) { // Afmetingen van foto bepalen... // Afmeting van Window bepalen... $size[0] = $size[0] + 25; $size[1] = $size[1] + 45; // bestandsgrootte bepalen... $file_size = fileSize("$album/$foto[$i]"); $file_size = round($file_size / 1000) . "k"; // Extensie van bestand afhakken, en daarna alle "_" vervangen door " " $display = eregi_replace(".jpg|.jpeg|.gif|.bmp|.png", "", $foto[$i]); // Veld in tabel weergeven... echo ("<td $colspan><a href=\"$album/$foto[$i]\" onmouseover=\"window.status='Vergroten';return true;\" onmouseout=\"window.status=''; return true\" onclick=\"window.open('show_foto.php?album=$album&fotonr=$i', 'pix$i', 'width=$size[0], height=$size[1], innerwidth=$size[0], innerheight=$size[1], directories=no, location=no, menubar=no, scrollbars=no, status=no, toolbar=no, resizable=no, top=0, left=0, leftmargin=0, topmargin=0, marginwidth=0, marginheight=0, screenX=0, screenY=0' ); return false\">\n"); $entry_without_ext = eregi_replace("\.jpg$|\.jpeg$|\.gif$|\.bmp$|\.png$", "", $foto[$i]); // Bestaat thumb? switch (true) { case (is_file($thumbs."/".$entry_without_ext.".jpg")): $thumbnail = $thumbs."/".$entry_without_ext.".jpg"; break; case (is_file($thumbs."/".$entry_without_ext.".jpeg")): $thumbnail = $thumbs."/".$entry_without_ext.".jpeg"; break; case (is_file($thumbs."/".$entry_without_ext.".gif")): $thumbnail = $thumbs."/".$entry_without_ext.".gif"; break; case (is_file($thumbs."/".$entry_without_ext.".bmp")): $thumbnail = $thumbs."/".$entry_without_ext.".bmp"; break; case (is_file($thumbs."/".$entry_without_ext.".png")): $thumbnail = $thumbs."/".$entry_without_ext.".png"; break; default: $thumbnail = ""; } if ($thumbnail == "") { // Thumb bestaat niet if (! eregi("\.jpg$|\.jpeg$", $foto[$i])) { // Andere formaten dan jpg of jpeg zitten niet ingebouwd... echo "Geen thumbnail beschikbaar...<br>\n"; } else { // Voor jpg/jpeg formaat: thumbnail maken // Als nog geen directory voor de thumbs bestaat, deze aanmaken... } // Thumbs aanmaken kan even duren, voor iedere thumb de timeout klok // resetten, en een maximum van 20 seconden per thumb instellen. // Voorlopig alleen jpp/jpeg support... // Voor het aanmaken van thumbs bij gif en png, moet hier wat worden bijgebouwd... $photo = imagecreatefromjpeg ("$album/$foto[$i]"); // afmetingen bepalen $photo_width = imagesx ($photo); $photo_height = imagesy ($photo); // minimaal een van de afmetingen is groter dan $max_thumb..? if ($photo_width > $max_thumb_width || $photo_height > $max_thumb_height) { // langwerpiger dan thumb?? if ($photo_width / $photo_height > $max_thumb_width / $max_thumb_height) { // Langwerpiger dan thumb, de breedte van de thumb is bepalend $new_thumb_width = $max_thumb_width; // Hoogte berekenen: $value = $photo_width / $max_thumb_width; $new_thumb_height = round ($photo_height / $value); } else { // niet langwerpiger... // De hoogte van de thumb is bepalend... $new_thumb_height = $max_thumb_height; // Breedte berekenen $value = $photo_height / $max_thumb_height; $new_thumb_width= round ($photo_width / $value); } } else { // Foto is al klein genoeg, afmetingen worden overgenomen $new_thumb_width = $photo_width; $new_thumb_height = $photo_height; } // plaatje aanmaken, met de juiste afmetingen... $create_thumb = imagecreatetruecolor ($new_thumb_width, $new_thumb_height); // Plaatje kopieren en "resamplen" imagecopyresampled ( $create_thumb, $photo, 0, 0, 0, 0, $new_thumb_width, $new_thumb_height, $photo_width, $photo_height); // Bestand wegschrijven ImageJpeg ($create_thumb, $thumbs."/".$entry_without_ext.".jpg", 90); // thumbnail bestaat nu toch... $thumbnail = $thumbs."/".$entry_without_ext.".jpg"; // Geheugen opschonen Imagedestroy($photo); } // endif: Formaat van foto = jpg of jpeg } // endif: Thumbnail bestaat niet // Thumbnail weergeven... echo "<img src='$thumbnail' border=0 width=$thumbsize[0] height=$thumbsize[1] alt=$i>\n"; // Titel onder thumbnail weergeven... echo "</a><br>$display<br><br></td>\n\n"; // Einde van de row...? if (($i % $cols) == $cols -1 ) { } } // endfor: Alle plaatjes doorlopen... $pages = ($aantal_fotos / ($cols * $rows)); $nextpage = ($page + 1); $prevpage = ($page - 1); // bepalen of er wel of geen volgende en vorige moeten worden weergegeven... if (($page + 1) < $pages) { // aantal op volgende pagina berekenen: $aantal_op_volgende = $aantal_fotos - $nextpage * $rows * $cols; // wanneer dit meer dan het aantal op één pagina is, dit terugschroeven tot het aantal op één pagina. if ($aantal_op_volgende > $rows * $cols) { $aantal_op_volgende = $rows * $cols; } // aantal op volgende is 1: in enkelvoud weergeven, anders aantal specificeren. if ($aantal_op_volgende == 1) { $volgende = "<a href=?album=$album&page=$nextpage&pid=1>Volgende foto </a>"; } else { $volgende = "<a href=?album=$album&page=$nextpage&pid=1>Volgende ". $aantal_op_volgende ." foto's </a>"; } } else { $volgende = ""; } if (($page+1) > "1") { // aantal op vorige is 1: in enkelvoud weergeven, anders aantal specificeren. if ($rows * $cols > 1) { $vorige = "<a href=?album=$album&page=$prevpage&pid=1>Vorige ". ($rows * $cols) ." foto's </a>"; } else { $vorige = "<a href=?album=$album&page=$prevpage&pid=1>Vorige foto </a>"; } } else { $vorige = ""; } if ($cols % 2 == 1) { $footer_colspan = "colspan=$cols"; } else { $footer_colspan = "colspan=" . ($cols / 2); } // Footer, dit staat onder de tabel. echo "</tr><tr><td $footer_colspan align=right> $vorige </td>\n"; echo "<td $footer_colspan align=left> $volgende </td>\n"; } // endif: Fotoalbum afdrukken...? ?> </div> </body> </html>
show_foto.php
<?php
include("config.php");
//
// show_foto.php
//
//
?>
<html>
<head>
<title> </title>
<link rel="StyleSheet" href="tfol-nieuw.css">
</head>
<?php
echo("<body bgcolor=\"$bgcolor\" text=\"$text\"");?> style=" margin-left: 10px;
margin-right: 10px;
margin-top: 10px;
margin-botom: 10px;"
>
<div align="center">
<?php
// Is er om een specifiek album gevraagd...?
if (isset($_GET['album'])) {
$album = $_GET['album'];
} else {
echo "<H2> Fout ! </H2>\n";
echo "<p>Geen album aangevraagd.</p>\n";
echo "</body></html>\n";
exit;
}
// Is er een niet bestaand album gevraagd...?
if ($album != "" && !is_dir($album)) {
// Foutmelding weergeven
echo "<h2>Fout:</h2>\n";
echo "<p>Het door u gevraagde album bestaat niet.</p>\n";
echo "</body></html>\n";
exit;
}
if (isset($_GET['fotonr'])) {
$fotonr = $_GET['fotonr'];
} else {
$fotonr = 0;
}
// indexen op nul zetten
$aantal_fotos = 0;
// Huidige directory openen
$mydir = opendir($album);
// Alle bestanden in de huidige directory doorlopen
while ($filename = readdir($mydir)) {
// Alle plaatjes in array opslaan
if (is_file ($album."/".$filename) && eregi("\.jpg$|\.jpeg$|\.gif$|\.bmp$|\.png$", $filename)) {
$foto[$aantal_fotos] = $filename;
$aantal_fotos++;
}
}
// Directory weer sluiten...
closedir($mydir);
// Foto's pagina weergeven
if ($aantal_fotos == 0) {
// Foutmelding weergeven
echo "<h2>Fout:</h2>\n";
echo "<p>Er bestaan geen foto's in dit album...</p>\n";
echo "</body></html>\n";
exit;
}
if ($fotonr > $aantal_fotos) {
// Foutmelding weergeven
echo "<h2>Fout:</h2>\n";
echo "<p>Gevraagde foto bestaat niet...</p>\n";
echo "</body></html>\n";
exit;
}
if ($fotonr < 0) {
// Foutmelding weergeven
echo "<h2>Fout:</h2>\n";
echo "<p>Gevraagde foto bestaat niet...</p>\n";
echo "</body></html>\n";
exit;
}
// sorteren op alfabet...
sort ($foto);
ClearStatCache();
// Afmetingen van foto bepalen...
$size = GetImageSize("$album/$foto[$fotonr]");
$size[0] = $size[0] + 35;
$size[1] = $size[1] + 85;
echo "<script type=\"text/javascript\" language=\"JavaScript\">\n";
echo "<!--\n";
echo "\twindow.resizeTo($size[0],$size[1]);\n";
echo "//-->\n";
echo "</script>\n";
// Extensie van bestand afhakken, en daarna alle "_" vervangen door " "
$display = eregi_replace(".jpg|.jpeg|.gif|.bmp|.png", "", $foto[$fotonr]);
$display = eregi_replace("_", " ", $display);
echo "<table border=0>\n";
echo "<tr><td colspan=2>\n";
echo "<img src=\"$album/$foto[$fotonr]\" />\n";
echo "</td></tr>\n";
$nextfoto = ($fotonr + 1);
$prevfoto = ($fotonr - 1);
// bepalen of er wel of geen volgende en vorige moeten worden weergegeven...
if ($nextfoto < $aantal_fotos) {
$volgende = "<a href=?album=$album&fotonr=$nextfoto>Volgende foto </a>";
} else {
$volgende = " ";
}
if ($fotonr != 0) {
$vorige = "<a href=?album=$album&fotonr=$prevfoto>Vorige foto </a>";
} else {
$vorige = " ";
}
// Footer, dit staat onder de tabel.
echo "<tr><td align=right width=50%> $vorige </td>\n";
echo "<td align=left width=50%> $volgende </td>\n";
echo "</tr>\n";
echo "</table>\n";
?>
</div>
</body>
</html>
<?php include("config.php"); // // show_foto.php // // ?> <html> <head> <title> </title> <link rel="StyleSheet" href="tfol-nieuw.css"> </head> <?php echo("<body bgcolor=\"$bgcolor\" text=\"$text\"");? > style=" margin-left: 10px; margin-right: 10px; margin-top: 10px; margin-botom: 10px;" > <div align="center"> <?php // Is er om een specifiek album gevraagd...? if (isset($_GET['album'])) { $album = $_GET['album']; } else { echo "<H2> Fout ! </H2>\n"; echo "<p>Geen album aangevraagd.</p>\n"; } // Is er een niet bestaand album gevraagd...? if ($album != "" && !is_dir($album)) { // Foutmelding weergeven echo "<p>Het door u gevraagde album bestaat niet.</p>\n"; } if (isset($_GET['fotonr'])) { $fotonr = $_GET['fotonr']; } else { $fotonr = 0; } // indexen op nul zetten $aantal_fotos = 0; // Huidige directory openen // Alle bestanden in de huidige directory doorlopen while ($filename = readdir($mydir)) { // Alle plaatjes in array opslaan if (is_file ($album."/".$filename) && eregi("\.jpg$|\.jpeg$|\.gif$|\.bmp$|\.png$", $filename)) { $foto[$aantal_fotos] = $filename; $aantal_fotos++; } } // Directory weer sluiten... // Foto's pagina weergeven if ($aantal_fotos == 0) { // Foutmelding weergeven echo "<p>Er bestaan geen foto's in dit album...</p>\n"; } if ($fotonr > $aantal_fotos) { // Foutmelding weergeven echo "<p>Gevraagde foto bestaat niet...</p>\n"; } if ($fotonr < 0) { // Foutmelding weergeven echo "<p>Gevraagde foto bestaat niet...</p>\n"; } // sorteren op alfabet... // Afmetingen van foto bepalen... $size[0] = $size[0] + 35; $size[1] = $size[1] + 85; echo "<script type=\"text/javascript\" language=\"JavaScript\">\n"; echo "\twindow.resizeTo($size[0],$size[1]);\n"; // Extensie van bestand afhakken, en daarna alle "_" vervangen door " " $display = eregi_replace(".jpg|.jpeg|.gif|.bmp|.png", "", $foto[$fotonr]); echo "<table border=0>\n"; echo "<tr><td colspan=2>\n"; echo "<img src=\"$album/$foto[$fotonr]\" />\n"; $nextfoto = ($fotonr + 1); $prevfoto = ($fotonr - 1); // bepalen of er wel of geen volgende en vorige moeten worden weergegeven... if ($nextfoto < $aantal_fotos) { $volgende = "<a href=?album=$album&fotonr=$nextfoto>Volgende foto </a>"; } else { $volgende = " "; } if ($fotonr != 0) { $vorige = "<a href=?album=$album&fotonr=$prevfoto>Vorige foto </a>"; } else { $vorige = " "; } // Footer, dit staat onder de tabel. echo "<tr><td align=right width=50%> $vorige </td>\n"; echo "<td align=left width=50%> $volgende </td>\n"; ?> </div> </body> </html>
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|