[php] alle files in bepaalde dir weergeven

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • niXnut
  • Registratie: Februari 2001
  • Laatst online: 17-07-2020

niXnut

Hora ruit; hora est!

Topicstarter
met dit scriptje maak ik een link lijst van alle mappen in de directory waar deze .php file staat. Dat werkt.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) { 
        if ($file != "." && $file != "..") { 
            echo("<a href=\$file\">$file</a><br>");
        
        } 
    }
    closedir($handle); 
}
?>


nu wil ik het graag zo maken dat als ik op een link klik, ik de inhoud van de hele map te zien krijg. Hoe doe ik dat?

[ Voor 12% gewijzigd door D2k op 11-02-2003 14:25 ]

| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 16:36
opendir("./jenieuwedirectory"); misschien?

Acties:
  • 0 Henk 'm!

  • niXnut
  • Registratie: Februari 2001
  • Laatst online: 17-07-2020

niXnut

Hora ruit; hora est!

Topicstarter
ja maar hoe hang ik dat aan die folderlink die via php geschreven wordt?

| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Lees dit topic even door: Welkom in P&W -> Quickstart (update 2/10/2002)

Wat heb je geprobeerd, wat lukt niet, wat was de foutmelding etc. :)
Graag even aanvullen met de informatie, anders wordt dit weer zo'n 'geef me het script verhaal' of een 'raad het probleem' vraagding :)

edit:
En iets proberen als iemand een hint geeft is ook wel fijn

[ Voor 11% gewijzigd door Glimi op 11-02-2003 14:23 ]


Acties:
  • 0 Henk 'm!

  • niXnut
  • Registratie: Februari 2001
  • Laatst online: 17-07-2020

niXnut

Hora ruit; hora est!

Topicstarter
Glimi schreef op 11 februari 2003 @ 14:22:
Lees dit topic even door: Welkom in P&W -> Quickstart (update 2/10/2002)

Wat heb je geprobeerd, wat lukt niet, wat was de foutmelding etc. :)
Graag even aanvullen met de informatie, anders wordt dit weer zo'n 'geef me het script verhaal' of een 'raad het probleem' vraagding :)

edit:
En iets proberen als iemand een hint geeft is ook wel fijn
Ik heb nog niets geprobeerd, wel gezocht maar niets gevonden. Ik heb geen idee hoe ik dit aan moet pakken. Nu zoekt ie de mapnamen en geeft die in een lijst met links weer. Als ik dan op zo'n link klink wil ik de inhoud van die map zien, maar hoe :?

Het is niet zo'n geef me een script verhaal. Ik wil het best zelf proberen te schrijven maar dan moet ik wel weten hoe je zoiets aanpakt.

uiteraard heb ik soultakers script geprobeerd!

[ Voor 6% gewijzigd door niXnut op 11-02-2003 14:26 ]

| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5


Acties:
  • 0 Henk 'm!

Verwijderd

Misschien met is_dir() checken of het een dir is

Zo ja, link naar pagina.php?dir=$file en haal dan de dir weer uit de adresbalk. Zo nee, dan gewoon een link :)

Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 16:43

Kees

Serveradmin / BOFH / DoC
PHP:
1
2
3
4
5
6
7
8
9
10
if (isset ($_GET['dir'])) 
    $dir= "./" . $_GET['dir'];
else
    $dir=.

if ($handle = opendir($dir)) {
....
    echo("<a href=$_SERVER[PHP_SELF]?dir=$file\">$file</a><br>");
....
}

Duidelijker kunnen we het niet maken, wel ingewikkelder ;)

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • niXnut
  • Registratie: Februari 2001
  • Laatst online: 17-07-2020

niXnut

Hora ruit; hora est!

Topicstarter
aaaaaaaaah! Als ik even het checken of het wel of geen directory achterwege laat:
de link met echo zo laten schrijven dat hij die bepaalde map opent en de bestanden in die map weergeeft??

Kees; ik moet toch eigenlijk een link laten wegschrijven die eerst de map open waarop ik klik en dan de inhoud weergeeft? Zoals jij het doet moet ik met GET eerst de variabele "dir" ophalen.

[ Voor 34% gewijzigd door niXnut op 11-02-2003 14:40 ]

| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

niXnut schreef op 11 February 2003 @ 14:32:
de link met echo zo laten schrijven dat hij die bepaalde map opent en de bestanden in die map weergeeft??

Sinds wanneer kan een link een map openen :?
Als je nou eens duidelijk omschrijft wat je wil, wordt het een stuk duidelijker om antwoorden op te geven.

link_naar_je_php?dir=$dirnaam

is bijvoorbeeld al iets wat je kan toepassen.

Acties:
  • 0 Henk 'm!

  • niXnut
  • Registratie: Februari 2001
  • Laatst online: 17-07-2020

niXnut

Hora ruit; hora est!

Topicstarter
ACM schreef op 11 February 2003 @ 14:38:

[...]

Sinds wanneer kan een link een map openen :?
Als je nou eens duidelijk omschrijft wat je wil, wordt het een stuk duidelijker om antwoorden op te geven.

link_naar_je_php?dir=$dirnaam

is bijvoorbeeld al iets wat je kan toepassen.
Sorry als ik niet duidelijk was.

ik heb een php pagina in mijn wwwroot map van mijn server staan (lijst.php). Die php pagina moet alle mappen die in de wwwroot staan onder elkaar weergeven als een link. Als ik op die link klik wil ik de inhoud van die mappen zien als link.

bv: op de server staat een map test. in die map test staat een index.php en een vervolg.php. Als ik dan dan lijst.php aanroep krijg ik een pagina met een link, "test". Als ik op die link klik krijg ik een pagina met een lijstje met de inhoud van "test"(index.php en vervolg.php) Dat zijn ook links dus als ik op 'index.php" klik geeft ie die weer in de browser.

| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5


Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 05-09 14:30

DizzyWeb

Ondertiteld

niXnut schreef op 11 February 2003 @ 14:46:
[...]


Sorry als ik niet duidelijk was.

ik heb een php pagina in mijn wwwroot map van mijn server staan (lijst.php). Die php pagina moet alle mappen die in de wwwroot staan onder elkaar weergeven als een link. Als ik op die link klik wil ik de inhoud van die mappen zien als link.

bv: op de server staat een map test. in die map test staat een index.php en een vervolg.php. Als ik dan dan lijst.php aanroep krijg ik een pagina met een link, "test". Als ik op die link klik krijg ik een pagina met een lijstje met de inhoud van "test"(index.php en vervolg.php) Dat zijn ook links dus als ik op 'index.php" klik geeft ie die weer in de browser.
Wat Kees net zegt doet dat dus....
Ik weet niet wat jij bedoelt met "wegschrijven" maar dat gebeurt helemaal niet...
Voor ieder bestand / map die in de huidige map ($_GET['dir'] of hoe je het ook noemen wil) maakt ie een link naar dat bestand / map, met een andere variabele voor die dir...

Acties:
  • 0 Henk 'm!

Verwijderd

is dit misschien wat je zoekt? Indien je de icoontjes ook wilt, mail me dan ff


PHP:
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
echo "<table cellspacing='0' cellpadding='0'>
<tr>
  <td width='20'>
    &nbsp;
  </td>
  <td width='285'>
    <b>Naam</b>
  </td>
  <td width='65'>
    <b>Grootte</b>
  </td>
  <td width='135'>
    <b>Laatst gewijzigd</b>
  </td>
</tr>
<tr>
  <td colspan='4'>
    <hr size='1' color='#000000'>
  </td>
</tr>";


$dirs = Array();
$dir_count = 0;

$files = Array();  
$file_count = 0; 

if(isset($_dir)) {
    $d = 1;
}

if (!$_dir) {
    $_dir = '.';
}

echo "<b>Huidige dir: http:/$_dir</b><br><br>";

$rep = opendir($_dir);

while ($file = readdir($rep)) {  
    if ($file != '') {
        if (is_dir($_dir."/".$file)) {
            $dirs[$dir_count++] = $file;
        }
        else {
            $files[$file_count++] = $file;
        }
    }
}

sort($files);  
sort($dirs);  

if($d == 1) {
    echo "<tr>
      <td>

      </td>
      <td>
        <a href='JavaScript:history.go(-1)'><b>Bovenliggende directory</b></a>
      </td>
      <td>
        &nbsp;
      </td>
      <td>
        &nbsp;
      </td>
    </tr>";
} 

for ($x = 0; $x < sizeof($dirs); $x++) {
    if($dirs[$x] != '.' && $dirs[$x] != '..' )
    echo "<tr>
      <td>
        [img]'img/filetypes/folder.jpg'>
[/img]
      <td>
        <a href='$PHP_SELF?_dir=$_dir/$dirs[$x]'>$dirs[$x]</a>
      </td>
      <td>
        &nbsp;
      </td>
      <td>
        &nbsp;
      </td>
    </tr>";
}  

for ($x = 0; $x < sizeof($files); $x++) {
    $bestand = "$_dir/$files[$x]";



$extensie = substr($bestand, -3);
    if (!file_exists("img/filetypes/$extensie.jpg")) { 
    $extensie = "unk";}else{$extensie="$extensie";}
    $size = filesize($bestand);
    $size = $size / 1024;
    $size = number_format($size, 0, ",", ".");
    if ($size == "0") {
        $size = "1";
    }
    $changed = filectime($bestand);
    $changedag = date("d-m-Y", $changed);
    $changedate = date("H:i", $changed);

    echo "<tr>
      <td>
        [img]'img/filetypes/$extensie.jpg'>
[/img]
      <td>
<a href='$_dir/$files[$x]' target='_new'>$files[$x]</a>
      </td>
      <td>
        $size kB
      </td>
      <td>
        $changedag om $changedate
      </td>
    </tr>";
}  

closedir($rep);  
clearstatcache();

Acties:
  • 0 Henk 'm!

  • niXnut
  • Registratie: Februari 2001
  • Laatst online: 17-07-2020

niXnut

Hora ruit; hora est!

Topicstarter
ik denk dat dat zo iets is ja, maar ik krijg een undefined variabele terug.

eigenlijk draait het hier om:
hoe ga ik met deze regel in de map: echo("<a href=\$file\">$file</a><br>");
dus een laag dieper:echo(" <a href=\map1\inhoud_map1">map1</a>");

[ Voor 38% gewijzigd door niXnut op 11-02-2003 15:09 ]

| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5


Acties:
  • 0 Henk 'm!

Verwijderd

als je op een link klikt, wil je dat de inhoud van die map wordt getoont.

je eerste scriptje, wat in je wwwroot staat om alle bestanden en mappen te tonen, als index.php in alle andere mappen zetten, ben je toch klaar?

of kijk ik nu iets te simpel?

Acties:
  • 0 Henk 'm!

  • niXnut
  • Registratie: Februari 2001
  • Laatst online: 17-07-2020

niXnut

Hora ruit; hora est!

Topicstarter
Verwijderd schreef op 11 February 2003 @ 15:07:
als je op een link klikt, wil je dat de inhoud van die map wordt getoont.

je eerste scriptje, wat in je wwwroot staat om alle bestanden en mappen te tonen, als index.php in alle andere mappen zetten, ben je toch klaar?

of kijk ik nu iets te simpel?
:) dat zou inderdaad ook werken, maar ik wil die pagina niet in iedere map zetten

| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5


Acties:
  • 0 Henk 'm!

Verwijderd

het scriptje zoals ik het gaf werkt wel hoor..

[ Voor 22% gewijzigd door Verwijderd op 11-02-2003 15:50 ]


Acties:
  • 0 Henk 'm!

  • spine
  • Registratie: Juni 2001
  • Niet online

spine

VISHUDDHI

Verwijderd schreef op 11 February 2003 @ 15:23:
het scriptje zoals ik het gaf werkt wel hoor..
Kijk maar uit... er zit een zware bug(kan je hele computer doorbladeren) in.....
ik zou em maar gauw offline halen als ik jou was...

[edit]
Valt wel beetje mee trouwens... kan geen files openen :)

[ Voor 20% gewijzigd door Kees op 11-02-2003 16:15 ]

[BSDFreaks.nl] [www.Dark-Future.org] [Alizarin.nl]


Acties:
  • 0 Henk 'm!

Verwijderd

oeps..

thnx

ik zie het in de logs :)


ff debuggen dus..

edit: hij wilde toch bladeren? :D

[ Voor 108% gewijzigd door Verwijderd op 11-02-2003 16:01 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Spine, wilt u de link aub removen uit uwen posting? thnx

Acties:
  • 0 Henk 'm!

  • spine
  • Registratie: Juni 2001
  • Niet online

spine

VISHUDDHI

Verwijderd schreef op 11 February 2003 @ 15:52:
Spine, wilt u de link aub removen uit uwen posting? thnx
ja sorry... maar is al weg :)

[BSDFreaks.nl] [www.Dark-Future.org] [Alizarin.nl]


Acties:
  • 0 Henk 'm!

Verwijderd

niemand die me kan vertellen hoe ik dit dus voor elkaar krijg?

eigenlijk draait het hier om:
hoe ga ik met deze regel in de map: echo("<a href=\$file\">$file</a><br>");
dus een laag dieper:echo(" <a href=\map1\inhoud_map1">map1</a>");
Pagina: 1