vraagje over opendir

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

JSP

JSP

05/09/2009 13:28:00
Quote Anchor link
Ik was bezig met een scriptje van deze site http://www.phphulp.nl/php/scripts/2/638/

het werkt perfect, maar is het soms niet
mogelijk om met "opendir" een submap
van je root te benaderen als ik hem op
mijn server in de root map benader dan
laat hij perfect alle daarop aanwezige
mappen zien, maar als ik hem dan instel
op een map uit de root dan geeft hij niks
weer in de dropdown.

groeten
J.S. Prins
 
PHP hulp

PHP hulp

25/01/2025 22:14:35
 
Emmanuel Delay

Emmanuel Delay

08/09/2009 20:05:00
Quote Anchor link
Ja zeker, geen probleem.

Ik geef je twee systemen; ik vermoed dat je de tweede functie het meest interessant vindt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
$rootDir
= 'files/';  // Zelf aanpassen !!!!

$files = lees_folder_hierarchisch($rootDir);
echo '<h2>Open dir met subfolders, hiërarchisch</h2><pre>'. print_r($files, 1) .'</pre>';

$files2 = array();
lees_folder_plat($rootDir, $files2);
echo '<h2>Open dir met subfolders, in een platte structuur</h2><pre>'. print_r($files2, 1) .'</pre>';

function
lees_folder_hierarchisch($dir)
{

  $result = array();
  $result['dir'] = $dir;
  $result['files'] = array();
  $result['subfolders'] = array();
  if ( is_dir($dir) )
  {

      if ($dh = opendir($dir))
      {

          while (($file = readdir($dh)) !== false)
          {

            if ($file == '.' || $file == '..')
              continue;
            $pathinfo = pathinfo($file);
            $nieuweDir = slash_op_einde($dir) . $file;
            if ( is_dir($nieuweDir) )
              $result['subfolders'][] = lees_folder_hierarchisch( $nieuweDir );
            else
              $result['files'][] = $pathinfo;
          }

          closedir($dh);
      }
  }

  return $result;
}
function
lees_folder_plat($dir, &$files, $root='')
{

  if (!is_array($files))
    $files = array();
  if ( is_dir($dir) )
  {

    
      if ($dh = opendir($dir))
      {

         $root = slash_op_einde($dir);
         while (($file = readdir($dh)) !== false)
          {

            if ($file == '.' || $file == '..')
              continue;
            $pathinfo = pathinfo($file);
            $nieuweDir = slash_op_einde($dir) . $file;
            if ( is_dir($nieuweDir) )
              lees_folder_plat($nieuweDir, $files, $root);
            else
              {
              $i = count($files);
              $files[$i] = $pathinfo;
              $files[$i]['dirname'] = slash_op_einde($root . $dir);  // of eventueel laat je slash_op_einde() weg.
              }
          }

          closedir($dh);
      }
  }

  return true;
}
function
slash_op_einde($dir)
{

if ( substr($dir, -1, 1) != '/')
  $dir = $dir .'/';
return $dir;
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
 
JSP

JSP

10/09/2009 22:17:00
Quote Anchor link
Zal het even bekijken iig bedankt eerst :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.