login  Naam:   Wachtwoord: 
Registreer je!
 Forum

subdirs lezen

Offline jarro - 05/10/2005 21:23
Avatar van jarroHTML interesse Heej mensen, ik heb een heel fijn fotoalbum script, en hij doet het BIJNA perfect. het werkt als volgt : hij leest wat voor mappen er zijn, maakt er links naar, en alle foto's worden klein neergezet enzo.. werkt perfect alleen hij leest de mappen in een aparte volgorde.. www.pjgu.nl/index.php?p=foto
dat is de link.

in welke volgorde leest hij ze?, en hoe zorg ik ervoor dat ze gewoon van nieuw naar oud worden neergezet? ik heb al geprobeert in de mapnaam <!--1--> en <!--2--> enzo te gebruiken, maar daar stoort hij zich niet aan..
dit het gedeelte dat de mappen neerzet:
  1. if($_GET['actie'] == '' || $_GET['dir'] == '' || !is_dir($_GET['dir'])){
  2. echo "<table width='709' border='0' >
  3. <tr height='21'>
  4. <td width='26' height='21'>&nbsp;</td>
  5. <td width='492' bgcolor='#087B26' height='21'><div align='left'>
  6. <span class='style4'><strong>Fotoalbums:</strong><span class='style5'> </span></span></div></td>
  7. <td width='4' bgcolor='#FFFFFF' height='21'>&nbsp;</td>
  8. <td width='187' height='21'></td>
  9. </tr>
  10. <tr valign='baseline' >
  11. <td width='26' border='0'>&nbsp;</td>
  12. <td width='492'>";
  13.  
  14. if(count(map_array($map)) != 0){
  15. foreach(map_array($map) as $a => $b){
  16. echo '- <a style="color: black" href="?p=foto&actie=1&dir='.$b.'">'.$a.'</a><br />';
  17. }
  18. }
  19. else{
  20. echo '- <a style="color: black" href="?p=foto&actie=1&dir='.$map.'">'.$map.'</a><br />';
  21. }
  22. echo "<td>&nbsp;</td>
  23. <td><p>&nbsp;&nbsp;
  24. </td>
  25. </tr>
  26. </table>";
  27. }
  28. elseif($_GET['actie'] == 1){
  29. echo '<div align="center">';
  30. echo sort_table($tab, $col, $row);
  31. echo '</div>';
  32. }
  33. elseif($_GET['actie'] == 2){
  34. echo '<div align="center">';
  35. echo sort_table($tab, 1, 1);
  36. echo '</div>';
  37. }


Ik kom er echt niet uit, mischien jullie?

Bij voorbaat dank:D

5 antwoorden

Gesponsorde links
Offline Dolfje - 05/10/2005 21:52
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
ik vind 'map_array()' niet bij php.net
is dat een zelfgemaakte functie ofzo?
Offline ikkedikke - 06/10/2005 14:46
Avatar van ikkedikke PHP expert sort() en reset()
Offline jarro - 07/10/2005 20:04 (laatste wijziging 09/10/2005 14:19)
Avatar van jarro HTML interesse
  1. <?php
  2.  
  3. // change
  4. $map = 'foto/'; // dir for images
  5. $col = 4; // collumns per page
  6. $row = 5; // rows per page
  7. $img = array('jpg'); // possible extentions
  8. $tab = array(); // empty
  9. if(isset($_GET['actie'])){
  10. $_GET['actie'] = $_GET['actie'];
  11. }
  12. else{
  13. $_GET['actie'] = '';
  14. }
  15. if(isset($_GET['dir'])){
  16. $_GET['dir'] = $_GET['dir'];
  17. }
  18. else{
  19. $_GET['dir'] = '';
  20. }
  21. $dir = $_GET['dir'];
  22. if(!isset($_GET['T'])){
  23. $T = 1;
  24. }
  25. else{
  26. $T = $_GET['T'];
  27. }
  28. function img_resize($a, $b = '', $c = ''){
  29. if(file_exists($a)){
  30. if($b == '' || !is_numeric($b)){
  31. $b = 100;
  32. }
  33. if($c == '' || !is_numeric($c)){
  34. $c = 100;
  35. }
  36. $f = getimagesize($a);
  37. $g = array();
  38. if($f[1] > $c || $f[0] > $b){
  39. if($f[0] > $c){
  40. $d = $f[0] - $b;
  41. $e = $d / $f[0];
  42. $g[0] = $b;
  43. $g[1] = $f[1] - ($f[1] * $e);
  44. }
  45. elseif($f[1] > $c){
  46. $d = $f[1] - $c;
  47. $e = $d / $f[1];
  48. $g[0] = $f[0] - ($f[0] * $e);
  49. $g[1] = $c;
  50. }
  51. else{
  52. $g[1] = $c;
  53. $g[0] = $b;
  54. }
  55. }
  56. else{
  57. $g[0] = $f[0];
  58. $g[1] = $f[1];
  59. }
  60. return 'src="'.$a.'" width="'.$g[0].'" height="'.$g[1].'"';
  61. }
  62. else{
  63. return false;
  64. }
  65. }
  66. function dir_array($a, $b){
  67. $g = array();
  68. if($c = opendir($a)){
  69. while(false !== ($d = readdir($c))){
  70. if($d != "." && $d != ".."){
  71. $e = explode('.', $d);
  72. $f = $e[count($e)-1];
  73. if(is_dir($a."/".$d)){
  74. $g = array_merge($g, dir_array($a."/".$d, $b));
  75. }
  76. elseif(in_array(strtolower($f), $b)){
  77. $g[] = $a."/".$d;
  78. }
  79. }
  80. }
  81. closedir($c);
  82. }
  83. return $g;
  84. }
  85. function map_array($a){
  86. $g = array();
  87. if($c = opendir($a)){
  88. while(false !== ($d = readdir($c))){
  89. if($d != "." && $d != ".."){
  90. if(is_dir($a."/".$d)){
  91. $g[$d] = $a."/".$d;
  92. }
  93. }
  94. }
  95. closedir($c);
  96. }
  97. return $g;
  98. }
  99. function sort_table($a, $b, $e){
  100. global $T;
  101. $f = $b*$e;
  102. $f = count($a)/$f;
  103. $f = ceil($f);
  104. if(isset($_GET['actie'])){
  105. $actie = '&actie='.$_GET['actie'];
  106. }
  107. else{
  108. $actie = '';
  109. }
  110. if($_GET['dir'] != ''){
  111. $actie .= '&dir='.$_GET['dir'];
  112. }
  113. if($b > count($a)){
  114. $b = count($a);
  115. }
  116. if($T < 1 || $T > $f){
  117. $T = 1;
  118. }
  119. $c = '<table border="1" width="'.(150*$b).'" style="border-collapse: collapse">';
  120. $d = 1;
  121. for($i = $b*$e*($T-1); $i < ($b*$e*$T); $i++){
  122. if($d == 1){
  123. $c .= '<tr align="center" valign="middle">';
  124. }
  125. $c .= '<td width="150" height="150">';
  126. if(isset($a[$i])){
  127. $c .= $a[$i];
  128. }
  129. // else{
  130. // $c .= '&nbsp;';
  131. // }
  132. $c .= '</td>';
  133. if($d == $b){
  134. $d = 1;
  135. $c .= '</tr>';
  136. }
  137. else{
  138. $d++;
  139. }
  140. }
  141. $c .= '<tr align="center" valign="middle"><td colspan="'.$b.'">';
  142. if($T > 1){
  143. $c .= '<a href="?p=foto&T='.($T-1).$actie.'" style=\"color: #087B26\">< Vorige</a>';
  144. }
  145. else{
  146. $c .= '< Vorige';
  147. }
  148. $c .= ' | ';
  149. for($j = 1; $j <= $f; $j++){
  150. if($T != $j){
  151. $c .= '<a href="?p=foto&T='.$j.$actie.'" style=\"color: #087B26\">'.$j.'</a>';
  152. }
  153. else{
  154. $c .= '<b>'.$j.'</b>';
  155. }
  156. $c .= ' | ';
  157. }
  158. if($T < $f){
  159. $c .= '<a href="?p=foto&T='.($T+1).$actie.'" style=\"color: #087B26\">Volgende ></a>';
  160. }
  161. else{
  162. $c .= 'Volgende >';
  163. }
  164. if($_GET['actie'] == 2){
  165. $c .= '<br /><a href="?p=foto&actie=1&dir='.$_GET['dir'].'" style=\"color: #087B26\">Overzicht</a>';
  166. }
  167. elseif($_GET['actie'] == 1){
  168. $c .= '<br /><a href="?p=foto&dir=" style=\"color: #087B26\">Overzicht</a>';
  169. }
  170. $c .= '</td></tr>';
  171. $c .= '</table>';
  172. return $c;
  173. }
  174. ?>
  175. <html>
  176. <head>
  177. <title>Foto's PJGU Woudenberg</title>
  178. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  179. </head>
  180. <body>
  181. <p><?php
  182. $i = 1;
  183. foreach(dir_array($dir, $img) as $a){
  184. if(file_exists($a) == true){
  185. if($_GET['actie'] == 1){
  186. $tab[] = '<a class="agenda" href="?p=foto&T='.$i.'&actie=2&dir='.$_GET['dir'].'"><img '.img_resize($a).' border="0" /></a>';
  187. }
  188. else{
  189. $tab[] = '<a href="'.$a.'"><img '.img_resize($a, 600, 600).' border="0" /></a>';
  190. }
  191. $i++;
  192. }
  193. }
  194.  
  195. if($_GET['actie'] == '' || $_GET['dir'] == '' || !is_dir($_GET['dir'])){
  196. echo "<table width='709' border='0' >
  197. <tr height='21'>
  198. <td width='26' height='21'>&nbsp;</td>
  199. <td width='492' bgcolor='#087B26' height='21'><div align='left'>
  200. <span class='style4'><strong>Fotoalbums:</strong><span class='style5'> </span></span></div></td>
  201. <td width='4' bgcolor='#FFFFFF' height='21'>&nbsp;</td>
  202. <td width='187' height='21'></td>
  203. </tr>
  204. <tr valign='baseline' >
  205. <td width='26' border='0'>&nbsp;</td>
  206. <td width='492'>";
  207.  
  208. if(count(map_array($map)) != 0){
  209. foreach(map_array($map) as $a => $b){
  210. echo '- <a style="color: black" href="?p=foto&actie=1&dir='.$b.'">'.$a.'</a><br />';
  211. }
  212. }
  213. else{
  214. echo '- <a style="color: black" href="?p=foto&actie=1&dir='.$map.'">'.$map.'</a><br />';
  215. }
  216. echo "<td>&nbsp;</td>
  217. <td><p>&nbsp;&nbsp;
  218. </td>
  219. </tr>
  220. </table>";
  221. }
  222. elseif($_GET['actie'] == 1){
  223. echo '<div align="center">';
  224. echo sort_table($tab, $col, $row);
  225. echo '</div>';
  226. }
  227. elseif($_GET['actie'] == 2){
  228. echo '<div align="center">';
  229. echo sort_table($tab, 1, 1);
  230. echo '</div>';
  231. }
  232. ?></div></p>
  233. </body>
  234. </html>

Dit is het hele script, met alle functies.. Alles werkt naar behoren behalve het laaste gedeelte.. ik snap er egt niks van, want er zit ook geen enkele logica achter..
Offline Dolfje - 09/10/2005 14:24
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
zoals ikkedikke zegt, je kan een array sorteren op naam door sort()
Offline jarro - 09/10/2005 14:36
Avatar van jarro HTML interesse euhmm hoe dan? ik snap niet hoe ik dat in dit verband kan gebruiken?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.266s