Gå til innhold

Liste opp filer i en mappe


Anbefalte innlegg

Jeg bruker nå dette til å liste opp filer i ei mappe

<?php

if ($handle = opendir('/home/web/wno474--/ms-paint/bilder/')) {
  echo "Filer:";

  while (false !== ($file = readdir($handle))) {
  echo "<a href='/ms-paint/bilder/$file\n'>$file\n</a>";
  }

  closedir($handle);
}
?> 

 

Men, i tillegg til filene viser den også ".." (uten klammer) som er lenke til /home/web/wno474--/ms-paint/ .

 

Noen som vet hvordan å fjerne prikkene? Ikke store problemet, men irriterende.

Lenke til kommentar
Videoannonse
Annonse

Prøv denne:

<?php

if ($handle = opendir('/home/web/wno474--/ms-paint/bilder/')) {
 echo "Filer:";

 while (false !== ($file = readdir($handle))) {
  if($file != '..') {
 echo "<a href='/ms-paint/bilder/$file\n'>$file\n</a>";
}
 }

 closedir($handle);
}
?>

Lenke til kommentar

glob() laster inn filene og mappene og alt i mappen du velger, og legger det i ett array. Velger du *.txt henter den kun ut .txt filer, f.eks.. $kat er da mappen han har brukt. Du looper gjennom array med foreach(). hvor da $value er nøkkelen, 'keyen' på dårlig norsk.

 

Ta en titt på glob i php-manualen.

http://www.php.net/glob

 

Hvis du ikke vil vise punktum så kjører du bare if($file != '.' AND $file != '..'){ /*skrive ut her*/ }

Lenke til kommentar
<?php

if ($handle = opendir('/home/web/wno474--/ms-paint/bilder/')) {
echo "Filer:";

while (false !== ($file = readdir($handle))) {
 if($file != '..' && $file!= '.') {
echo "<a href='/ms-paint/bilder/$file\n'>$file\n</a>";
}
}

closedir($handle);
}
?>

Lenke til kommentar
<?php

if ($handle = opendir('/home/web/wno474--/ms-paint/bilder/')) {
echo "Filer:";

while (false !== ($file = readdir($handle))) {
 if($file != '..' && $file!= '.') {
echo "<a href='/ms-paint/bilder/$file\n'>$file\n</a>";
}
}

closedir($handle);
}
?>

Prøver å få dette til jeg også..

 

Men lurer på hva de korrekte "stiene" er

 

opendir('/home/web/wno474--/ms-paint/bilder/

 

og

 

a href='/ms-paint/bilder/$file\n'>$file\n</a>";

 

 

:blush:

 

 

si min sier er www.minside.no og filene ligger i www.minside/upload

 

 

Har prøvd mange alternativ, men det funker ikke.. :cry:

 

Takker for hjelp!

 

 

compac

Lenke til kommentar

/home/web/wno474--/ms-paint/bilder/ er den fullstendige stien til mappa. Det blir det samme om du selv har hatt sida på pc'en din, da hadde den kanskje sett slik ut: c:/www/ms-paint/bilder/ . Denne adressa får du til host'en din. Bruker du feks home.no.net tror jeg adressa er /public_html/ms-paint/bilder/

 

/ms-paint/bilder/$file\n er mappa (stien) som ligger i public_html (eller der feks index.html ligger). /ms-paint/bilder/ er forresten noen jeg har brukt, den må du forandre og derretter lage mapper med disse navnene. $file\n er da filnavnet.

Lenke til kommentar
/home/web/wno474--/ms-paint/bilder/ er den fullstendige stien til mappa. Det blir det samme om du selv har hatt sida på pc'en din, da hadde den kanskje sett slik ut: c:/www/ms-paint/bilder/ . Denne adressa får du til host'en din. Bruker du feks home.no.net tror jeg adressa er /public_html/ms-paint/bilder/

 

/ms-paint/bilder/$file\n er mappa (stien) som ligger i public_html (eller der feks index.html ligger). /ms-paint/bilder/ er forresten noen jeg har brukt, den må du forandre og derretter lage mapper med disse navnene. $file\n er da filnavnet.

beklager at jeg maser, men får det ikke til nå heller..

 

 

Stien min er som sakt www.minside.no/upload

 

Har eget webhotell så det går ikke gjennom home.no

 

Det kommer bare feilmelding når jeg bruker foskjellige adresser.

 

 

Skal teste videre, men har prøvd de slternativene som jeg kommer på :cry:

 

setter stor pris på om du (eller noen andre) kunne skrift stien for meg i "tesjeformat".. :blush:

 

 

 

Ps: må noen av filene "moddes"?

 

compac

Endret av Compac
Lenke til kommentar

det jeg hadde trodd skulle fungere va denne:

 

 

 

 

<?php

 

if ($handle = opendir('minside.no/upload/')) {

echo "Filer:";

 

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

if($file != '..' && $file!= '.') {

echo "<a href='/upload/$file\n'>$file\n</a>";

}

}

 

closedir($handle);

}

?>

 

 

men til ingen nytte..

Lenke til kommentar
Du må helt ned til rota. Hvilken host bruker du?

 

Husk, dette var min tråd, trenger hjelp med sortering etter dato enda. ;)

Sorry, var ikke meningen å sjele tråden din... :blush:

 

Men et siste spørsmå:

Hosten min er www.surftown.nu (Vis det var den du lurte på ?)

 

Har testa et anna "script"

 

___________________________

 

<?php

 

$directory = opendir("upload");

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

if (!(($file == ".") OR ($file == ".."))) {

$file_extension = strrchr($file, '.');

$filesplit = explode(".", $file);

for($index = 0; $index < count($file); $index++) {

echo("<a href=\"$file\">$filesplit[0]</a><br>");

}

}

}

 

?>

 

_____________________________

 

 

denne får jeg til å laste opp alt som ligger i Upload katalogen, men når jeg trykker på linken så linkes filen til rota å ikke til upload katalogen..

 

 

Men men, skulle gjerne hatt det litt proffere slik som den du har, å gjerne muligheten til å sortere på type.

 

Hadde vært flott å få php scriptet "ditt" til å funke, å setter stor pris på hjelp til å fikse dette.

 

Sorry igjen at jeg blanda meg inn i tråden din.

 

 

compac

Lenke til kommentar

Hvis du gjør det slik tror jeg du skal få ritktig bane i linkene dine:

 

<?php

$dir = "upload";
$directory = opendir($dir);
while (false !== ($file = readdir($directory))) {
if (!(($file == ".") OR ($file == ".."))) {
$file_extension = strrchr($file, '.');
$filesplit = explode(".", $file);
for($index = 0; $index < count($file); $index++) {
echo("<a href=\"$dir/$file\">$filesplit[0]</a><br>");
}
}
}

?>

Lenke til kommentar

du bør kjenne til forskjellen på et domenenavn og et navn på en katalog.

 

du har sikkert på dette stadiet skjønt hva en fil er, og hvordan du kan bruke dens filnavn for å komme til.

 

steg 2 er å forstå hva en katalog er. vær vennlig å forstå det, for det er så trivielt at det er irriterende å forklare.

 

steg 3, vit så at din phpfil ligger i en katalog, og alle filnavn eller katalognavn du angir, er relative til denne katalogen som phpfila ligger i.

 

så kommer syretesten: der du har phpfila, i den katalogen, er det der en katalog som heter "minside.no" ? hvis ikke er det rimelig ulogisk å kjøre opendir på noe som begynner med "minside.no"

Lenke til kommentar
du bør kjenne til forskjellen på et domenenavn og et navn på en katalog.

 

du har sikkert på dette stadiet skjønt hva en fil er, og hvordan du kan bruke dens filnavn for å komme til.

 

steg 2 er å forstå hva en katalog er. vær vennlig å forstå det, for det er så trivielt at det er irriterende å forklare.

 

steg 3, vit så at din phpfil ligger i en katalog, og alle filnavn eller katalognavn du angir, er relative til denne katalogen som phpfila ligger i.

 

så kommer syretesten: der du har phpfila, i den katalogen, er det der en katalog som heter "minside.no" ? hvis ikke er det rimelig ulogisk å kjøre opendir på noe som begynner med "minside.no"

Jeg vet godt hva en fil, mappe, php script ++++ er.....

 

 

Det som var probemet var å finne den rette banen for å lite opp alt under upload katalogen.

 

Dvs, jeg vet hva fila er og hvor file ligger, men i php scriptet karer jeg ikke å skrive inn rett sti sli at innholdet av mappen Upload kommer frem.''

 

 

Men men, får vel bare knote til jeg enten får det til eller driter i det.

 

 

PS: Tha_Zaynt

 

Tusen takk for tipset det skal testet fortløpende! :)

Lenke til kommentar

har du ingen mulighet for å få oversikt over katalogstrukturen? husk at du kan referere til kataloger et hakk høyere opp ved å bruke ../

 

har du ftp eller ssh muligheter til webserveren? da bør det ikke være noe problem å se hva katalogene heter... husk å skille mellom små og store bokstaver.

Lenke til kommentar
  • 11 måneder senere...

<?php

if ($handle = opendir('/home/web/wno474--/ms-paint/bilder/')) {
echo "Filer:";

while (false !== ($file = readdir($handle))) {
if($file != '..' && $file!= '.') {
echo "<a href='/ms-paint/bilder/$file\n'>$file\n</a>";
}
}

closedir($handle);
}
?>

Går dette an å bruke med en ekstern mappe, som ikke befinner seg på samme server som scriptet?

Si at jeg vil liste ut alle filene i en mappe jeg vet url til... Går ikke dette, fordi man må helt ned i root?

Endret av solfridmh
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...