/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Newbie: List af filer i et dir (ud over in~
Fra : Lars Brink


Dato : 12-06-02 13:12

Hej!

Jeg er næsten helt ny indenfor PHP og jeg ville gerne komme med mit eget bud
før jeg spørger, men jeg har faktisk ingen ide om det kan lade sig gøre
eller hvordan.

Så er der en venlig sjæl som har lavet det samme eller lignende så post
venligst koden.

Jeg har en mappe på et website som jeg hele tiden uploader filer til. Jeg
ville så gerne have en index.php fil i den mappe som listede alle filerne i
mappen på en pæn FTP-agtig måde.

Før jeg skiftede til Apache 2 gjorde Apache det selv, men nu får jeg en
"Access forbidden!" fejl. Det kan nok slås fra i Apache men af
sikkerhedsmæssige grunde er det nok bedst sådan.

Mvh,

Lars



 
 
jacob_a@spamos.dk (12-06-2002)
Kommentar
Fra : jacob_a@spamos.dk


Dato : 12-06-02 13:44

"Lars Brink" <usenet@papayaREMOVEconsulting.com> writes:

> Jeg har en mappe på et website som jeg hele tiden uploader filer til. Jeg
> ville så gerne have en index.php fil i den mappe som listede alle filerne i
> mappen på en pæn FTP-agtig måde.

Prøv at kigge på <http://dk.php.net/manual/en/function.glob.php>

Med venlig hilsen
- Jacob Atzen

Lars Brink (12-06-2002)
Kommentar
Fra : Lars Brink


Dato : 12-06-02 14:25

> Prøv at kigge på <http://dk.php.net/manual/en/function.glob.php>

Mange tak.

Dette:
<?PHP
echo "test!";
foreach (glob("*.zip") as $filename)
{
echo "$filename" . "\n";
}
?>

Giver:
test!

....og ingen zip filer?

Mvh,

Lars



Johan Holst Nielsen (12-06-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 12-06-02 14:45

> Dette:
> <?PHP
> echo "test!";
> foreach (glob("*.zip") as $filename)
> {
> echo "$filename" . "\n";
> }
> ?>
>
> Giver:
> test!
>
> ...og ingen zip filer?

Måske kører du I safemode?
Så brug:

<?php
if($dir = @opendir("./")) {
while(($file = readdir($dir)) !== false) {
if(substr(strtolower($file), 0, 3) == "zip") {
echo $file."\n";
}
}
closedir($dir);
}
?>


Lars Brink (12-06-2002)
Kommentar
Fra : Lars Brink


Dato : 12-06-02 14:53

> Måske kører du I safemode?

Jeg har en std. 4.2.1

> Så brug:
[snip]

Det her:
<?php
if($dir = @opendir("./"))
echo "$dir" . "\n";
{
while(($file = readdir($dir)) !== false)
{
if(substr(strtolower($file), 0, 3) == "zip")
{
echo "$file" . "\n";
}
}
closedir($dir);
}
?>

Giver:
Resource id #1

Underligt?

Mvh,

Lars



Johan Holst Nielsen (12-06-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 12-06-02 15:07



Lars Brink wrote:
>>Måske kører du I safemode?
>
>
> Jeg har en std. 4.2.1
>
>
>>Så brug:
>
> [snip]
>
> Det her:
> <?php
> if($dir = @opendir("./"))
> echo "$dir" . "\n";
> {
> while(($file = readdir($dir)) !== false)
> {
> if(substr(strtolower($file), 0, 3) == "zip")
> {
> echo "$file" . "\n";
> }
> }
> closedir($dir);
> }
> ?>
>
> Giver:
> Resource id #1
>
> Underligt?

opendir() returnerer ikke navnet på mappen, men en resource!
Og så var der også en lille fejl ;) Den ville kun returnere filer hvis
de STARTEDE med zip...
Ændre til
substr(strtolower($file), -3, 3) == "zip"

Så skulle det virke :)

mvh
Johan



Lars Brink (12-06-2002)
Kommentar
Fra : Lars Brink


Dato : 12-06-02 15:13

> substr(strtolower($file), -3, 3) == "zip"
> Så skulle det virke :)

Det gør det mange tak for det!

Skulle det der "\n" ting ikke lave et linjeskift? Det gør det nemlig ikke.

Ellers mange tak. Nu vil jeg så lave dem til links også og se hvodan det
tager sig ud.

Mvh,

Lars



[5000] Jesper Brunho~ (12-06-2002)
Kommentar
Fra : [5000] Jesper Brunho~


Dato : 12-06-02 15:35

Lars Brink wrote:
> Skulle det der "\n" ting ikke lave et linjeskift? Det gør det nemlig ikke.

jo - i koden, det er derimod <br> der laver linieskift på skærmen - brug
dem kombineret for overskuelig kode og pæn skærmvisning

mvh

Jesper Brunholm


--
Husk at skrive hvor grejet er - jeg har skrevet postnummer i fra-felt.
Luk for de varme varer - giv og forlang kvittering!
Brug markedsgrupperne rigtigt, se evt.
<http://www.usenet.dk/grupper.pl?list=dk.marked.privat.edb>




Johan Holst Nielsen (12-06-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 12-06-02 15:54

>> Skulle det der "\n" ting ikke lave et linjeskift? Det gør det nemlig
>> ikke.
>
>
> jo - i koden, det er derimod <br> der laver linieskift på skærmen - brug
> dem kombineret for overskuelig kode og pæn skærmvisning

Lidt flueknepperi...
Jo \n laver linie skift også på skærmen... (f.eks. hvis du kører PHP i
commandline :))
Dog vil HTML ikke forstå det som et linieskift da der da bruges <br\>

mvh
Johan


Martin Mouritzen (12-06-2002)
Kommentar
Fra : Martin Mouritzen


Dato : 12-06-02 22:21

After I finished the 3 Pan Galactic Gargle Blasters, Johan Holst
Nielsen <johan@weknowthewayout.com> just offered me, he muttered some
weird stuff, and I had to correct this gibberish:

>Dog vil HTML ikke forstå det som et linieskift da der da bruges <br\>

Du mener <br> eller <br /> ?
--
Nano Martin Mouritzen Phone +45 24899896
Vesterbrogade 30C. 2. Programmer Advanced Simplicity
DK-8000 Århus martin@nano.dk http://www.nano.dk
Nano nu officiel dansk distributør af UltraEdit, se mere på websitet

Per Thomsen (12-06-2002)
Kommentar
Fra : Per Thomsen


Dato : 12-06-02 15:51


"Lars Brink" <usenet@papayaREMOVEconsulting.com> wrote in message
news:3d073a98$0$10680$4d4eb98e@news.dk.uu.net...
> Hej!
>
> Jeg er næsten helt ny indenfor PHP og jeg ville gerne komme med mit eget
bud
> før jeg spørger, men jeg har faktisk ingen ide om det kan lade sig gøre
> eller hvordan.
>
> Så er der en venlig sjæl som har lavet det samme eller lignende så post
> venligst koden.
>

Næh, hvor pudsigt sådan et script har jeg faktisk lige lavet, så sent som i
forgårs.
Det lister godt nok kun zip-filer, men det kan jeg se i de andre reply's at
det
vist også er det du er interesseret i, ellers er det nemt at modificere det.

Det indeholder 2 funktioner read_zips som læser alle zip filerne i bestemt
dir,
og zips_html som generer HTML tabellen og zip filerne.

Så ønsker du at lave et pænere output, kan du altså blot modificere
funktionen zips_html.

read_zips kunne også have være lavet med glob() funktionen, men den kendte
jeg ikke til før jeg læste denne tråd.

Du kan finde det her:
<http://www.pert.dk/php/zipList.phps>

Jeg kan også se af de andre replys at du er ved at have noget oppe at køre
selv,
men det kunne jo godt være du kunne bruge lidt inspiration ;).


MVH Per Thomsen,
http://www.pert.dk/





Lars Brink (13-06-2002)
Kommentar
Fra : Lars Brink


Dato : 13-06-02 09:39

Mange tak til alle!

Jeg har med svarene her lavet følgende:

<?php

if($dir = @opendir("./"))
{
while(($file = readdir($dir)) !== false)
{
if(substr(strtolower($file), -3, 3) == "zip")
{
$filemod = filemtime($file);
$filemodtime = date("F j Y", $filemod);
echo "Click to download = <a href=\"http://www.domain.com/Funny/" . $file .
"\">" . $file . "</a> size " . filesize($file) . " bytes. Uploaded: " .
$filemodtime . "<br>";
}
}
closedir($dir);
}

?>

Det næste kunne så være at de kom i dato rækkefølge med nyeste først

Mvh,

Lars



Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408545
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste