login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Upload systemen > Uploader+Resizer

Uploader+Resizer

Auteur: TFOL - 23 april 2005 - 10:57 - Gekeurd door: CelestialCelebi - Hits: 17431 - 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
  1. <?php
  2.  
  3. //wijzig de gegevens die hieronder staan
  4.  
  5. $titel = "Upload+Resize-System"; //titel
  6. $bgcolor = "#FFFFFF"; //achtergrondkleur
  7. $text = "#000000"; //textkleur
  8. $loc = "http://www.jesitenaam.nl"; //locatie waar je de bestanden hebt geplaatst (upload.php EN upload2.php)
  9. $css = "stylesheet.css"; //maak je gebruik van een css-bestand? laat leeg als je die niet gebruikt
  10. $max_breedte = "550"; //maximale breedte. als een foto breder is, wordt hij geresized
  11.  
  12. //je bent klaar, verander hieronder niks meer. veel (upload)plezier.
  13.  
  14. if($css == "")
  15. {
  16. $css_tag = "";
  17. }
  18. else
  19. {
  20. $css_tag = "<link rel=\"StyleSheet\" href=\"$css\">";
  21. }
  22.  
  23. ?>


upload.php
  1. <html>
  2. <?php
  3. include("config.php");
  4.  
  5. ?>
  6. <head>
  7. <title><?php echo("$titel"); ?></title>
  8. <?php
  9. echo("$css_tag");
  10. ?>
  11. </head>
  12.  
  13. <?php
  14. echo("<body bgcolor=\"$bgcolor\" text=\"$text\">");
  15.  
  16. if(isset($_POST['verder']))
  17. {
  18. $aantal = $_POST['aantal'];
  19. $dir = $_POST['albnaam'];
  20.  
  21. if(!is_dir($dir))
  22. {
  23. mkdir($dir);
  24.  
  25. 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>");
  26. }
  27. else
  28. {
  29. echo("Deze album bestaat al, kies een andere albumnaam aub");
  30. }
  31. }
  32. ?>
  33.  
  34. <form method="POST" action="">
  35. <b>Albumnaam:</b> <input type="text" name="albnaam"/> (!!GEEN spaties!!)<br><br>
  36. <b>Aantal:</b> <input type="text" name="aantal" size="2"/> (hoeveel foto's je wilt uploaden)<br>
  37. <input type="submit" name="verder" value="Ga verder met uploaden!"/>
  38. </form>
  39.  
  40. <hr>
  41. <p align="center"><b>GuestPhotoAlbum-System ©Robin Esselink, <a href="www.treinfoto-online.net">www.treinfoto-online.net</a></b></p>
  42.  
  43. </body>
  44.  
  45. </html>


upload2.php
  1. <html>
  2. <?php
  3. include("config.php");
  4. ?>
  5.  
  6. <head>
  7. <title><?php echo("$titel"); ?></title>
  8. <link rel="StyleSheet" href="tfol-nieuw.css">
  9. </head>
  10.  
  11. <?php
  12. echo("<body bgcolor=\"$bgcolor\" text=\"$text\">");
  13. ?>
  14.  
  15. <form method="POST" action="" enctype="multipart/form-data">
  16.  
  17. <?php
  18.  
  19. $dir = $_GET['dir'];
  20.  
  21. $a_velden = $_GET['aantal'];
  22. $i= 0;
  23. while($i++ < $a_velden)
  24. {
  25. echo("<b>Foto $i:</b> <input type=\"file\" name=\"$i\"/>");?><br><br><?
  26.  
  27. if(isset($_POST['uploaden']))
  28. {
  29.  
  30. $tmp_bestand = $_FILES[$i]['tmp_name'];
  31. $bestand = $_FILES[$i]['name'];
  32. move_uploaded_file($tmp_bestand, $dir."/".$bestand);
  33. chmod ($dir."/".$bestand, 0777);
  34.  
  35. $bron = imagecreatefromjpeg($dir."/".$bestand) or die ("Jpg probleempje");
  36. $b_breedte = imagesx($bron); // Bron breedte
  37. $b_hoogte = imagesy($bron); // bron hoogte
  38.  
  39. //verhouding berekenen
  40. $verhouding = $b_breedte / $max_breedte;
  41.  
  42. //breedte berekenen en afronden
  43. $nieuw_breedte = round($b_breedte / $verhouding);
  44.  
  45. //hoogte berekenen en afronden
  46. $nieuw_hoogte = round($b_hoogte / $verhouding);
  47.  
  48. if ($b_breedte > $max_breedte) {
  49. $nieuw_jpg = imagecreatetruecolor($nieuw_breedte ,$nieuw_hoogte) or die ("Probleem met maken van plaatje jpg");
  50. imagecopyresampled($nieuw_jpg, $bron, 0, 0, 0, 0, $nieuw_breedte, $nieuw_hoogte, $b_breedte, $b_hoogte);
  51. Imagejpeg($nieuw_jpg,$dir."/".$bestand,120); //80 is jpg kwaliteit
  52. } // einde resizen
  53. echo("<a href=\"$loc/fotoalbum.php?album=./$dir\"><b>Klik hier</b></a> om je album te bekijken<br><br>");
  54. echo("<a href=\"$loc/upload.php\"><b>Klik hier</b></a> om nog een album aan te maken");
  55. } // einde if 'uploaden'
  56.  
  57. } // einde while
  58. ?>
  59.  
  60. <input type="submit" name="uploaden" value="Uploaden!"/>
  61. </form>
  62.  
  63. <hr>
  64. <p align="center"><b>GuestPhotoAlbum-System ©Robin Esselink, <a href="www.treinfoto-online.net">www.treinfoto-online.net</a></b></p>
  65.  
  66. </body>
  67.  
  68. </html>


fotoalbum.php
  1. <?php
  2.  
  3. include("config.php");
  4.  
  5.  
  6. //
  7.  
  8. // fotoalbum.php
  9.  
  10. //
  11.  
  12. // Zet dit bestand ergens op je webserver, en maak opdezelfde plaats
  13.  
  14. // mappen, gevuld met fotos aan. Iedere map wordt gezien als album.
  15.  
  16. // Een map kan weer gevuld worden met submappen, of met zowel submappen
  17.  
  18. // als foto's. Iedere submap wordt dan weer als een nieuw album gezien.
  19.  
  20. // Deze mappen structuur kan oneindig diep worden.
  21.  
  22. //
  23.  
  24. // Het fotoalbum laat, bij geen opgave in de adresbalk,
  25.  
  26. // een overzicht van de albums zien, met de bijbehorende link.
  27.  
  28. // Wanneer een album is geselecteerd, worden de foto's van dat album
  29.  
  30. // weergegeven.
  31.  
  32. //
  33.  
  34. // Werkwijze: album-map wordt doorgelopen, en subalbums en foto's worden
  35.  
  36. // in een array gezet. Vervolgens worden eerst alle subalbums afgedrukt,
  37.  
  38. // en daarna wordt er gezocht naar een thumbnail in de thumbs map.
  39.  
  40. //
  41.  
  42. // Bestaat er geen thumbnail, dan wordt deze voor jpg/jpeg's aangemaakt
  43.  
  44. //
  45.  
  46.  
  47.  
  48. // Is er om een specifiek album gevraagd...?
  49.  
  50. if (isset($_GET['album'])) {
  51.  
  52. $album = $_GET['album'];
  53.  
  54. } else {
  55.  
  56. $album = ".";
  57.  
  58. }
  59.  
  60.  
  61.  
  62. // Is er om een specifieke pagina gevraagd...?
  63.  
  64. if (isset($_GET['page'])) {
  65.  
  66. $page = $_GET['page'];
  67.  
  68. } else {
  69.  
  70. $page = 0;
  71.  
  72. }
  73.  
  74.  
  75.  
  76. // Configuratie
  77.  
  78. $cols = "4"; // Aantal kolommen
  79.  
  80. $rows = "3"; // aantal rijen
  81.  
  82. $max_thumb_width = "120"; // Maximale breedte van een thumbnail
  83.  
  84. $max_thumb_height = "90"; // Maximale hoogte van een thumbnail
  85.  
  86.  
  87.  
  88. $thumbs = "$album/thumbs"; // directory waar thumbnails in staan
  89.  
  90. $header = eregi_replace("_", " ", $album);
  91.  
  92.  
  93.  
  94. if ($cols % 2 == 0) {
  95.  
  96. $colspan = "";
  97.  
  98. } else {
  99.  
  100. $colspan = "colspan=2";
  101.  
  102. }
  103.  
  104.  
  105.  
  106. ?>
  107.  
  108.  
  109.  
  110. <html>
  111.  
  112. <head>
  113.  
  114. <title><?php echo("$titel"); ?></title>
  115. <?php
  116. echo("$css_tag");
  117. ?>
  118.  
  119. </head>
  120.  
  121.  
  122.  
  123. <?php
  124. echo("<body bgcolor=\"$bgcolor\" text=\"$text\">");
  125. ?>
  126.  
  127.  
  128. <div align="center">
  129.  
  130.  
  131.  
  132. <?php
  133.  
  134.  
  135.  
  136. // Is er een niet bestaand album gevraagd...?
  137.  
  138. if ($album != "" && !is_dir($album)) {
  139.  
  140.  
  141.  
  142. // Foutmelding weergeven
  143.  
  144. echo "<h2>Fout:</h2>\n";
  145.  
  146. echo "<p>Het door u gevraagde album bestaat niet. Selecteer een album uit de lijst hieronder.</p>\n";
  147.  
  148.  
  149.  
  150. // Album leegmaken, zodat album-overzicht wordt weergegeven
  151.  
  152. $album = ".";
  153.  
  154. }
  155.  
  156.  
  157.  
  158. // Huidige directory openen
  159.  
  160. $mydir = opendir($album);
  161.  
  162.  
  163.  
  164. // indexen op nul zetten
  165.  
  166. $aantal_subdirs = 0;
  167.  
  168. $aantal_fotos = 0;
  169.  
  170.  
  171.  
  172. // Alle bestanden in de huidige directory doorlopen
  173.  
  174. while ($filename = readdir($mydir)) {
  175.  
  176.  
  177.  
  178. // Alle subdirectories in array opslaan
  179.  
  180. if (is_dir($album."/".$filename) && $filename != "." && $filename != ".." && $filename != "thumbs") {
  181.  
  182. $subdir[$aantal_subdirs] = $filename;
  183.  
  184. $aantal_subdirs++;
  185.  
  186. }
  187.  
  188.  
  189.  
  190. // Alle plaatjes in array opslaan
  191.  
  192. if (is_file ($album."/".$filename) && eregi("\.jpg$|\.jpeg$|\.gif$|\.bmp$|\.png$", $filename)) {
  193.  
  194. $foto[$aantal_fotos] = $filename;
  195.  
  196. $aantal_fotos++;
  197.  
  198. }
  199.  
  200. }
  201.  
  202.  
  203.  
  204. // Directory weer sluiten...
  205.  
  206. closedir($mydir);
  207.  
  208.  
  209.  
  210. // Directory structuur vastleggen in array...
  211.  
  212. $map = $album;
  213.  
  214. $i = 1;
  215.  
  216.  
  217.  
  218. $directory_tree[0] = $map;
  219.  
  220.  
  221.  
  222. while ($map != ".") {
  223.  
  224.  
  225.  
  226. $last_slash_pos = strlen($map) - strpos(strrev($map), "/");
  227.  
  228. $map = substr ($map, 0, $last_slash_pos - 1);
  229.  
  230.  
  231.  
  232. $directory_tree[$i] = $map;
  233.  
  234. $i++;
  235.  
  236.  
  237.  
  238. }
  239.  
  240.  
  241.  
  242. // Rij met links naar albumoverzicht/subalbums weergeven....
  243.  
  244. for ($i = count ($directory_tree) - 1 ; $i >= 0; $i--) {
  245.  
  246.  
  247.  
  248. $last_slash_pos = strlen($directory_tree[$i]) - strpos(strrev($directory_tree[$i]), "/");
  249.  
  250. $directory_name = substr($directory_tree[$i], $last_slash_pos);
  251.  
  252. $directory_name = eregi_replace("_", " ", $directory_name);
  253.  
  254.  
  255.  
  256. if ($directory_name != "") {
  257.  
  258. echo "&nbsp;&nbsp; > &nbsp;&nbsp;";
  259.  
  260. }
  261.  
  262.  
  263.  
  264. echo "<a href=\"http://www.treinfoto-online.net/Fotoalbum/fotoalbum.php?album=$directory_tree[$i]&pid=1\">";
  265.  
  266.  
  267.  
  268. if ($directory_name != "") {
  269.  
  270. echo $directory_name;
  271.  
  272. } else {
  273.  
  274. echo "Fotoalbums";
  275.  
  276. }
  277.  
  278. echo "</a>";
  279.  
  280. }
  281.  
  282.  
  283.  
  284. echo "<hr><br>";
  285.  
  286.  
  287.  
  288. // Subalbums weergeven :
  289.  
  290. if ($aantal_subdirs > 0) {
  291.  
  292.  
  293.  
  294. sort ($subdir);
  295.  
  296.  
  297.  
  298. echo "<table>\n";
  299.  
  300. for ($i =0; $i < $aantal_subdirs; $i++) {
  301.  
  302. $directory_name = eregi_replace("_", " ", $subdir[$i]);
  303.  
  304. 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";
  305.  
  306. }
  307.  
  308. echo "</table>";
  309.  
  310. }
  311.  
  312.  
  313.  
  314. // Foto's pagina weergeven
  315.  
  316. if ($aantal_fotos > 0) {
  317.  
  318.  
  319.  
  320. // sorteren op alfabet...
  321.  
  322. sort ($foto);
  323.  
  324.  
  325.  
  326. // eerste en laatste foto op deze pagina bepalen...
  327.  
  328. $eerste_foto = (($page * $cols * $rows) + 1);
  329.  
  330. $laatste_foto = (($page + 1) * $cols * $rows);
  331.  
  332.  
  333.  
  334. // tabel beginnen...
  335.  
  336. echo "<table border=0 cellpadding=10 cellspacing=0><tr>\n";
  337.  
  338.  
  339.  
  340. // alleen foto's tussen eerste en laatste foto afdrukken...
  341.  
  342. for ($i = $eerste_foto - 1; ($i < $aantal_fotos) && ($i < $laatste_foto); $i++) {
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349. // Afmetingen van foto bepalen...
  350.  
  351. $size = GetImageSize("$album/$foto[$i]");
  352.  
  353.  
  354.  
  355. // Afmeting van Window bepalen...
  356.  
  357. $size[0] = $size[0] + 25;
  358.  
  359. $size[1] = $size[1] + 45;
  360.  
  361.  
  362.  
  363. // bestandsgrootte bepalen...
  364.  
  365. $file_size = fileSize("$album/$foto[$i]");
  366.  
  367. $file_size = round($file_size / 1000) . "k";
  368.  
  369.  
  370.  
  371. // Extensie van bestand afhakken, en daarna alle "_" vervangen door " "
  372.  
  373. $display = eregi_replace(".jpg|.jpeg|.gif|.bmp|.png", "", $foto[$i]);
  374.  
  375. $display = eregi_replace("_", " ", $display);
  376.  
  377.  
  378.  
  379. // Veld in tabel weergeven...
  380.  
  381. echo ("<td $colspan><a href=\"$album/$foto[$i]\" onmouseover=\"window.status='Vergroten';return true;\"
  382.  
  383. onmouseout=\"window.status=''; return true\"
  384.  
  385. 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");
  386.  
  387.  
  388.  
  389. $entry_without_ext = eregi_replace("\.jpg$|\.jpeg$|\.gif$|\.bmp$|\.png$", "", $foto[$i]);
  390.  
  391.  
  392.  
  393. // Bestaat thumb?
  394.  
  395. switch (true) {
  396.  
  397. case (is_file($thumbs."/".$entry_without_ext.".jpg")):
  398.  
  399. $thumbnail = $thumbs."/".$entry_without_ext.".jpg";
  400.  
  401. break;
  402.  
  403.  
  404.  
  405. case (is_file($thumbs."/".$entry_without_ext.".jpeg")):
  406.  
  407. $thumbnail = $thumbs."/".$entry_without_ext.".jpeg";
  408.  
  409. break;
  410.  
  411.  
  412.  
  413. case (is_file($thumbs."/".$entry_without_ext.".gif")):
  414.  
  415. $thumbnail = $thumbs."/".$entry_without_ext.".gif";
  416.  
  417. break;
  418.  
  419.  
  420.  
  421. case (is_file($thumbs."/".$entry_without_ext.".bmp")):
  422.  
  423. $thumbnail = $thumbs."/".$entry_without_ext.".bmp";
  424.  
  425. break;
  426.  
  427.  
  428.  
  429. case (is_file($thumbs."/".$entry_without_ext.".png")):
  430.  
  431. $thumbnail = $thumbs."/".$entry_without_ext.".png";
  432.  
  433. break;
  434.  
  435.  
  436.  
  437. default:
  438.  
  439. $thumbnail = "";
  440.  
  441. }
  442.  
  443.  
  444.  
  445. if ($thumbnail == "") {
  446.  
  447. // Thumb bestaat niet
  448.  
  449. if (! eregi("\.jpg$|\.jpeg$", $foto[$i])) {
  450.  
  451. // Andere formaten dan jpg of jpeg zitten niet ingebouwd...
  452.  
  453. echo "Geen thumbnail beschikbaar...<br>\n";
  454.  
  455. } else {
  456.  
  457. // Voor jpg/jpeg formaat: thumbnail maken
  458.  
  459.  
  460.  
  461.  
  462. // Als nog geen directory voor de thumbs bestaat, deze aanmaken...
  463.  
  464. if (! is_dir ($thumbs)) {
  465.  
  466. mkdir("$thumbs");
  467.  
  468. }
  469.  
  470.  
  471.  
  472. // Thumbs aanmaken kan even duren, voor iedere thumb de timeout klok
  473.  
  474. // resetten, en een maximum van 20 seconden per thumb instellen.
  475.  
  476.  
  477.  
  478.  
  479. // Voorlopig alleen jpp/jpeg support...
  480.  
  481. // Voor het aanmaken van thumbs bij gif en png, moet hier wat worden bijgebouwd...
  482.  
  483. $photo = imagecreatefromjpeg ("$album/$foto[$i]");
  484.  
  485.  
  486.  
  487. // afmetingen bepalen
  488.  
  489. $photo_width = imagesx ($photo);
  490.  
  491. $photo_height = imagesy ($photo);
  492.  
  493.  
  494.  
  495. // minimaal een van de afmetingen is groter dan $max_thumb..?
  496.  
  497. if ($photo_width > $max_thumb_width || $photo_height > $max_thumb_height) {
  498.  
  499.  
  500.  
  501. // langwerpiger dan thumb??
  502.  
  503. if ($photo_width / $photo_height > $max_thumb_width / $max_thumb_height) {
  504.  
  505.  
  506.  
  507. // Langwerpiger dan thumb, de breedte van de thumb is bepalend
  508.  
  509. $new_thumb_width = $max_thumb_width;
  510.  
  511.  
  512.  
  513. // Hoogte berekenen:
  514.  
  515. $value = $photo_width / $max_thumb_width;
  516.  
  517. $new_thumb_height = round ($photo_height / $value);
  518.  
  519.  
  520.  
  521. } else { // niet langwerpiger...
  522.  
  523. // De hoogte van de thumb is bepalend...
  524.  
  525. $new_thumb_height = $max_thumb_height;
  526.  
  527.  
  528.  
  529. // Breedte berekenen
  530.  
  531. $value = $photo_height / $max_thumb_height;
  532.  
  533. $new_thumb_width= round ($photo_width / $value);
  534.  
  535. }
  536.  
  537.  
  538.  
  539. } else {
  540.  
  541.  
  542.  
  543. // Foto is al klein genoeg, afmetingen worden overgenomen
  544.  
  545. $new_thumb_width = $photo_width;
  546.  
  547. $new_thumb_height = $photo_height;
  548.  
  549. }
  550.  
  551.  
  552.  
  553. // plaatje aanmaken, met de juiste afmetingen...
  554.  
  555. $create_thumb = imagecreatetruecolor ($new_thumb_width, $new_thumb_height);
  556.  
  557.  
  558.  
  559. // Plaatje kopieren en "resamplen"
  560.  
  561. imagecopyresampled (
  562.  
  563. $create_thumb,
  564.  
  565. $photo,
  566.  
  567. 0, 0, 0, 0,
  568.  
  569. $new_thumb_width,
  570.  
  571. $new_thumb_height,
  572.  
  573. $photo_width,
  574.  
  575. $photo_height);
  576.  
  577.  
  578.  
  579. // Bestand wegschrijven
  580.  
  581. ImageJpeg ($create_thumb, $thumbs."/".$entry_without_ext.".jpg", 90);
  582.  
  583.  
  584.  
  585. // thumbnail bestaat nu toch...
  586.  
  587. $thumbnail = $thumbs."/".$entry_without_ext.".jpg";
  588.  
  589.  
  590.  
  591. // Geheugen opschonen
  592.  
  593. Imagedestroy($photo);
  594.  
  595.  
  596.  
  597. } // endif: Formaat van foto = jpg of jpeg
  598.  
  599. } // endif: Thumbnail bestaat niet
  600.  
  601.  
  602.  
  603. $thumbsize = GetImageSize($thumbnail);
  604.  
  605. // Thumbnail weergeven...
  606.  
  607. echo "<img src='$thumbnail' border=0 width=$thumbsize[0] height=$thumbsize[1] alt=$i>\n";
  608.  
  609.  
  610.  
  611. // Titel onder thumbnail weergeven...
  612.  
  613. echo "</a><br>$display<br><br></td>\n\n";
  614.  
  615.  
  616.  
  617. // Einde van de row...?
  618.  
  619. if (($i % $cols) == $cols -1 ) {
  620.  
  621. echo "</tr>\n<tr>\n";
  622.  
  623. }
  624.  
  625.  
  626.  
  627. } // endfor: Alle plaatjes doorlopen...
  628.  
  629.  
  630.  
  631. $pages = ($aantal_fotos / ($cols * $rows));
  632.  
  633. $nextpage = ($page + 1);
  634.  
  635. $prevpage = ($page - 1);
  636.  
  637.  
  638.  
  639. // bepalen of er wel of geen volgende en vorige moeten worden weergegeven...
  640.  
  641. if (($page + 1) < $pages) {
  642.  
  643.  
  644.  
  645. // aantal op volgende pagina berekenen:
  646.  
  647. $aantal_op_volgende = $aantal_fotos - $nextpage * $rows * $cols;
  648.  
  649.  
  650.  
  651. // wanneer dit meer dan het aantal op één pagina is, dit terugschroeven tot het aantal op één pagina.
  652.  
  653. if ($aantal_op_volgende > $rows * $cols) {
  654.  
  655. $aantal_op_volgende = $rows * $cols;
  656.  
  657. }
  658.  
  659.  
  660.  
  661. // aantal op volgende is 1: in enkelvoud weergeven, anders aantal specificeren.
  662.  
  663. if ($aantal_op_volgende == 1) {
  664.  
  665. $volgende = "<a href=?album=$album&page=$nextpage&pid=1>Volgende foto </a>";
  666.  
  667. } else {
  668.  
  669. $volgende = "<a href=?album=$album&page=$nextpage&pid=1>Volgende ". $aantal_op_volgende ." foto's </a>";
  670.  
  671. }
  672.  
  673. } else {
  674.  
  675. $volgende = "";
  676.  
  677. }
  678.  
  679.  
  680.  
  681. if (($page+1) > "1") {
  682.  
  683. // aantal op vorige is 1: in enkelvoud weergeven, anders aantal specificeren.
  684.  
  685. if ($rows * $cols > 1) {
  686.  
  687. $vorige = "<a href=?album=$album&page=$prevpage&pid=1>Vorige ". ($rows * $cols) ." foto's </a>";
  688.  
  689. } else {
  690.  
  691. $vorige = "<a href=?album=$album&page=$prevpage&pid=1>Vorige foto </a>";
  692.  
  693. }
  694.  
  695. } else {
  696.  
  697. $vorige = "";
  698.  
  699. }
  700.  
  701.  
  702.  
  703. if ($cols % 2 == 1) {
  704.  
  705. $footer_colspan = "colspan=$cols";
  706.  
  707. } else {
  708.  
  709. $footer_colspan = "colspan=" . ($cols / 2);
  710.  
  711. }
  712.  
  713.  
  714.  
  715. // Footer, dit staat onder de tabel.
  716.  
  717. echo "</tr><tr><td $footer_colspan align=right> $vorige </td>\n";
  718.  
  719. echo "<td $footer_colspan align=left> $volgende </td>\n";
  720.  
  721. echo "</tr>\n";
  722.  
  723. echo "</table>\n";
  724.  
  725.  
  726.  
  727. } // endif: Fotoalbum afdrukken...?
  728.  
  729.  
  730.  
  731.  
  732.  
  733. ?>
  734.  
  735.  
  736.  
  737. </div>
  738.  
  739. </body>
  740.  
  741. </html>


show_foto.php
  1. <?php
  2. include("config.php");
  3.  
  4. //
  5. // show_foto.php
  6. //
  7. //
  8. ?>
  9.  
  10. <html>
  11. <head>
  12. <title> </title>
  13. <link rel="StyleSheet" href="tfol-nieuw.css">
  14. </head>
  15.  
  16. <?php
  17. echo("<body bgcolor=\"$bgcolor\" text=\"$text\"");?> style=" margin-left: 10px;
  18. margin-right: 10px;
  19. margin-top: 10px;
  20. margin-botom: 10px;"
  21. >
  22.  
  23. <div align="center">
  24.  
  25. <?php
  26.  
  27. // Is er om een specifiek album gevraagd...?
  28. if (isset($_GET['album'])) {
  29. $album = $_GET['album'];
  30. } else {
  31. echo "<H2> Fout ! </H2>\n";
  32. echo "<p>Geen album aangevraagd.</p>\n";
  33. echo "</body></html>\n";
  34. exit;
  35. }
  36.  
  37. // Is er een niet bestaand album gevraagd...?
  38. if ($album != "" && !is_dir($album)) {
  39.  
  40. // Foutmelding weergeven
  41. echo "<h2>Fout:</h2>\n";
  42. echo "<p>Het door u gevraagde album bestaat niet.</p>\n";
  43. echo "</body></html>\n";
  44. exit;
  45. }
  46.  
  47. if (isset($_GET['fotonr'])) {
  48. $fotonr = $_GET['fotonr'];
  49. } else {
  50. $fotonr = 0;
  51. }
  52.  
  53. // indexen op nul zetten
  54. $aantal_fotos = 0;
  55.  
  56. // Huidige directory openen
  57. $mydir = opendir($album);
  58.  
  59. // Alle bestanden in de huidige directory doorlopen
  60. while ($filename = readdir($mydir)) {
  61.  
  62. // Alle plaatjes in array opslaan
  63. if (is_file ($album."/".$filename) && eregi("\.jpg$|\.jpeg$|\.gif$|\.bmp$|\.png$", $filename)) {
  64. $foto[$aantal_fotos] = $filename;
  65. $aantal_fotos++;
  66. }
  67. }
  68.  
  69. // Directory weer sluiten...
  70. closedir($mydir);
  71.  
  72. // Foto's pagina weergeven
  73. if ($aantal_fotos == 0) {
  74. // Foutmelding weergeven
  75. echo "<h2>Fout:</h2>\n";
  76. echo "<p>Er bestaan geen foto's in dit album...</p>\n";
  77. echo "</body></html>\n";
  78. exit;
  79. }
  80.  
  81. if ($fotonr > $aantal_fotos) {
  82. // Foutmelding weergeven
  83. echo "<h2>Fout:</h2>\n";
  84. echo "<p>Gevraagde foto bestaat niet...</p>\n";
  85. echo "</body></html>\n";
  86. exit;
  87. }
  88.  
  89. if ($fotonr < 0) {
  90. // Foutmelding weergeven
  91. echo "<h2>Fout:</h2>\n";
  92. echo "<p>Gevraagde foto bestaat niet...</p>\n";
  93. echo "</body></html>\n";
  94. exit;
  95. }
  96.  
  97. // sorteren op alfabet...
  98. sort ($foto);
  99.  
  100.  
  101. // Afmetingen van foto bepalen...
  102. $size = GetImageSize("$album/$foto[$fotonr]");
  103. $size[0] = $size[0] + 35;
  104. $size[1] = $size[1] + 85;
  105.  
  106. echo "<script type=\"text/javascript\" language=\"JavaScript\">\n";
  107. echo "<!--\n";
  108. echo "\twindow.resizeTo($size[0],$size[1]);\n";
  109. echo "//-->\n";
  110. echo "</script>\n";
  111.  
  112. // Extensie van bestand afhakken, en daarna alle "_" vervangen door " "
  113. $display = eregi_replace(".jpg|.jpeg|.gif|.bmp|.png", "", $foto[$fotonr]);
  114. $display = eregi_replace("_", " ", $display);
  115.  
  116. echo "<table border=0>\n";
  117. echo "<tr><td colspan=2>\n";
  118. echo "<img src=\"$album/$foto[$fotonr]\" />\n";
  119. echo "</td></tr>\n";
  120.  
  121. $nextfoto = ($fotonr + 1);
  122. $prevfoto = ($fotonr - 1);
  123.  
  124. // bepalen of er wel of geen volgende en vorige moeten worden weergegeven...
  125. if ($nextfoto < $aantal_fotos) {
  126. $volgende = "<a href=?album=$album&fotonr=$nextfoto>Volgende foto </a>";
  127. } else {
  128. $volgende = "&nbsp;";
  129. }
  130.  
  131. if ($fotonr != 0) {
  132. $vorige = "<a href=?album=$album&fotonr=$prevfoto>Vorige foto </a>";
  133. } else {
  134. $vorige = "&nbsp;";
  135. }
  136.  
  137. // Footer, dit staat onder de tabel.
  138. echo "<tr><td align=right width=50%> $vorige &nbsp;&nbsp; </td>\n";
  139. echo "<td align=left width=50%> &nbsp;&nbsp; $volgende </td>\n";
  140. echo "</tr>\n";
  141. echo "</table>\n";
  142. ?>
  143.  
  144. </div>
  145. </body>
  146. </html>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (14)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.119s