login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Directory files uitlezen

Offline BigBug - 02/10/2005 12:35
Avatar van BigBugPHP expert Hey, ik wil een simpel foto uitleessysteempje maken waarvoor ik het volgende heb bedacht:

Ik wil een script waarin je aan kan geven welke map deze de files van moet uitlezen. Dan als je op die pagina komt moet deze alle namen in een while loop proppen en daar <img> tags omheen proppen... Maar nu zit ik met het probleem hoe ik dat moet aanpakken. Omdat ik totaal geen ervaring heb met directory's uitlezen... Kan iemand mij een voorbeeldje geven??

B.v.d. Jeroen

7 antwoorden

Gesponsorde links
Offline Thomas - 02/10/2005 12:56
Avatar van Thomas Moderator Kijk eens tussen de SCRIPTS.
Offline BigBug - 02/10/2005 13:21
Avatar van BigBug PHP expert http://www.discodrive-in.nl/foto%20test/foto.php

Dit krijg ik er uit.. en hetzelfde bij de ander...

Maar ik vraag dus ook specifiek om bestanden uit 1 map.. Daar vraag ik functies over enzo.. Kan iemand mij hierbij bij helpen??
Offline Button - 02/10/2005 13:32 (laatste wijziging 02/10/2005 13:46)
Avatar van Button PHP ver gevorderde awel, een week of twee geleden heb ik net zo'n script toegevoegd maar het staat nogal altijd niet(!) bij de scripts/ nbg niet gekeurd...


edit: miss kan je het wel zien: http://www.site...amp;id=834

edit2:
het script:

  1. <html>
  2. <head>
  3. <title>Untitled</title>
  4.  
  5. <script type="text/JavaScript">
  6. <!-- hier wordt het popupje met de image aangemaakt
  7. function nieuw_venster(image)
  8. {
  9. venster = window.open(image,'Image','width=600,height=500,toolbar=no,menubar=no,statusbar=no,scrollbars=no');
  10. }
  11. //-->
  12. </script>
  13.  
  14.  
  15. </head>
  16. <body>
  17. <?php
  18. $dir="C:\\hier\\je\\map\\met\\de\\fotos\\";//hier de map met de foto's
  19.  
  20. if (!empty($_GET)){ //als de pagina de eerste keer is aangeroepen heeft $pagina nog geen value dus wijs ik ze 1 toe
  21. $pagina=$_GET['pagina'];
  22. }else{
  23. $pagina=1;
  24. }
  25.  
  26. if(is_dir($dir)){//is het opgegeven path wel degelijk een map? met is_dir wordt dit gecontroleerd
  27.  
  28. $handle=opendir($dir);//$handle, de map wordt geopend
  29.  
  30. while(false !== ($image = readdir($handle)))//de map uitlezen
  31. {
  32. if($image != "." AND $image != ".."){//checken dat bestanden . of .. (die worden automatisch door readdir() aangemaakt)niet in de array worden geplaatst
  33.  
  34. $aimage[]=$image;//afb. in array plaatsen, zo kan je kiezen wat je er daarna mee doet.
  35.  
  36.  
  37. }
  38.  
  39. }
  40.  
  41. closedir($handle);//de map wordt gesloten
  42.  
  43. echo("<table>");
  44.  
  45. while (list ($key, $image) = each ($aimage)) //lees de array $aimage uit.
  46. {
  47.  
  48. if($key >= (($pagina-1) * 10) AND $key <= (($pagina * 10 )-1)){//checken of het juiste aantal foto's wordt geselecteerd...
  49.  
  50. if(is_int($key/2)) echo "<tr>";//om een even $key zorgt dit ervoor dat er nieuwe rij wordt geplaatst : dus altijd twee foto's naast elkaar
  51.  
  52. echo("<td><img src=\"" . $dir.$image . "\" alt=\"" . $image . " | " . ceil(filesize($dir.$image)/1024) . " kB" . "| Key: " . $key . "\" width=100 height=75 onClick=\"nieuw_venster('map_met_fotos/" .$image. "')\" ></td>");//plaats de foto met een <td></td> erond /// + verander hier "map_met_fotos" naar de map waar jouw foto's in staan (!alleen die map!)
  53.  
  54. if(is_int($key/2)== false) echo "</tr>";//rij wordt beindigt na een oneven $key
  55.  
  56. }
  57.  
  58. }
  59.  
  60. echo ("</table>");
  61.  
  62. #####vanaf hier begint de pagina-navigatie######
  63.  
  64. $num_image=count($aimage);//count () telt het aantal elementen in $aimage en geeft het aan $num_image
  65.  
  66. $num_pagina=ceil($num_image/10);//ceil rond af naar boven: bv. 12 foto's gedeeld door 10 -> 1,2 wordt door ceil 2 pagina
  67.  
  68.  
  69. for($i = 1 ; $i <= $num_pagina ; $i++){//hier worden evenveel links geplaast als pagina's
  70.  
  71. echo(" || <a href=\"fotoalbum.php?pagina=". $i ."\">". $i ."</a> || ");
  72.  
  73. }
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82. }else
  83. {
  84. die("Het opgegeven path is geen map: ". $dir ." ...");//het opgegeven path is geen map dus laat een foutmelding zien
  85. }
  86.  
  87. ?>
  88. </body>
  89. </html


de uitleg:
Citaat:
zo, dit is een simpel fotoalbumpje met pagina-nagivatie
als er op de foto wordt geklikt verschijnt er een popup met de foto vergroot in.
-zet het juiste path van de map met foto's in de variabele $dir
-op regel 52 verander je "map_met_fotos" naar je eigen map met de foto's.

opmerking: zie dat je script juist één map hoger staat dan je afbeeldingen dus : script bv.in c:scripts en je afb. Moeten dan in c:scriptsfotos

good luck with it!

ps: dit is getest/gemaakt op een apache server een werkte perfect.
Offline BigBug - 22/04/2006 07:56 (laatste wijziging 22/04/2006 09:51)
Avatar van BigBug PHP expert Dankjewel buttonman!

Zie het eigenlijk nu pas Maargoed, volgens mij werkt het wel.. Alleen ik haaaaaat directory's 

http://www.big-bug.nl/turkije/

Let niet op dat iframe 

En dan fotoboek.....

Zo ziet het eruit waar de map staat
-www
--turkije

en dan in de map turkije dit
-turkije
--images
--fotos

Wat moet mijn dir dan worden? Oja, de file staat in de map turkije..
Offline ikkedikke - 22/04/2006 10:45
Avatar van ikkedikke PHP expert je geeft een absoluut pad.. haal die / aan t begin van de mapnaam weg.
Offline BigBug - 22/04/2006 11:04 (laatste wijziging 22/04/2006 11:22)
Avatar van BigBug PHP expert Is proberen...

To be continued...

Continue: Dat werkt!

Warning: filesize(): Stat failed for fotos1085426967.gif (errno=2 - No such file or directory) in /home/big-bug.nl/www/turkije/fotoboek.php on line 52

Dit niet... Ik heb nooit met filesize() gewerkt, dus word er niet wijs uit... Ziet iemand wat er fout is? (zie script van buttonman)

Edit: Het is me zelf gelukt de errors te fixen.. Ben nu nog bezig aan 1 probleempje maar zal wel lukken. Ik vertel wel als het gelukt is 

Alles is nu opgelost!! Er moest nog een slash tussen $dir.$image
Offline Button - 22/04/2006 13:13
Avatar van Button PHP ver gevorderde =) altijd blij dat ik leden kan helpen =) ook al is het zo lang geleden en was ik het al vergeten  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.199s