Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 13:39 Der er 22 kommentarer og
1 løsning

Vis ikke filendelser, og arranger alfabetisk ;O)

Denne "vis dir"-kode skal ikke, når filerne vises, skrive f.eks. "tekstfil.txt", derimod bare "tekstfil".

Derudover vil jeg også gerne have scritpet til at arrangere alle filerne alfabetisk, med A først.

-----

<?php
$viewtypes = array(".txt",".pdf"); // Filtyper der skal vises!

if ($vis) {
      include ("$vis");

exit;
}
if(!isset($dir)){
$dir = ".";
}

if ($dirpointer = @opendir($dir)) {
  while($file = readdir($dirpointer)) {
      $extension = ".".strtolower(end(explode(".", $file)));
      if (in_array($extension, $viewtypes)) {
          $size = round(filesize($dir."/".$file)/1024, 2);
        echo "<a href=\"index.php?vis=$file\"> $file</A> \n";
      }
  }
  closedir($dirpointer);
}
?>
Avatar billede sukos Juniormester
13. februar 2004 - 14:28 #1
Utestet:

<?php
$viewtypes = array("txt","pdf"); // Filtyper der skal vises!

if ($vis) {
      include ("$vis");

exit;
}
if(!isset($dir)){
$dir = ".";
}

if ($dirpointer = @opendir($dir)) {
  while($file = readdir($dirpointer)) {
      $ext = pathinfo($dir ."/". $file)));
      if (in_array(@$ext["extension"], $viewtypes)) {
          $size = round(filesize($dir."/".$file)/1024, 2);
        echo "<a href=\"index.php?vis=$file\"> basename($dir ."/". $file, ".".$ext["extension"])</A> \n";
      }
  }
  closedir($dirpointer);
}
?>
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 14:34 #2
Parse error: parse error in /home/web/web11058/fugleforumdk/artikler/Andre (5)/test.php on line 15
Avatar billede sukos Juniormester
13. februar 2004 - 14:35 #3
Ja, hov, denne:


$ext = pathinfo($dir ."/". $file)));

skal være :

$ext = pathinfo($dir ."/". $file);
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 14:36 #4
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /home/web/web11058/fugleforumdk/artikler/Andre (5)/test.php on line 18
Avatar billede sukos Juniormester
13. februar 2004 - 14:37 #5
Og, så skal du nok lige bruge strtolower for $file:

      if (in_array(strtolower(@$ext["extension"]), $viewtypes)) {
Avatar billede sukos Juniormester
13. februar 2004 - 14:39 #6
<?php
$viewtypes = array("txt","pdf"); // Filtyper der skal vises!

if ($vis) {
      include ("$vis");

exit;
}
if(!isset($dir)){
$dir = ".";
}

if ($dirpointer = @opendir($dir)) {
  while($file = readdir($dirpointer)) {
      $ext = pathinfo($dir ."/". $file);
      if (in_array(strtolower(@$ext["extension"]), $viewtypes)) {
          $size = round(filesize($dir."/".$file)/1024, 2);
        echo "<a href=\"index.php?vis=". $file ."\"> ". basename($dir ."/". $file, ".". $ext["extension"]) ."</A> \n";
      }
  }
  closedir($dirpointer);
}
?>
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 14:41 #7
Ja tak :-) Så skal de bare stå alfabetisk ?
Avatar billede sukos Juniormester
13. februar 2004 - 14:43 #8
Så skal de ikke vises med det samme, men smides i et array, som derefter løbes igennem.
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 14:46 #9
...og det bliver en større opgave, eller?
Avatar billede sukos Juniormester
13. februar 2004 - 14:49 #10
Prøv:

<?php
$viewtypes = array("txt","pdf"); // Filtyper der skal vises!

if ($vis) {
      include ("$vis");

exit;
}
if(!isset($dir)){
$dir = ".";
}

$filliste = array();

if ($dirpointer = @opendir($dir)) {
  while($file = readdir($dirpointer)) {
      if (in_array(strtolower(@$ext["extension"]), $viewtypes)) {
    $filliste[] = $file;
      }
  }
  closedir($dirpointer);
}

sort($filliste);

for($i = 0; $i < count($filliste); $i++) {
      $ext = pathinfo($dir ."/". filliste[$i]);
      $size = round(filesize($dir."/". $filliste[$i])/1024, 2);
      echo "<a href=\"index.php?vis=". $filliste[$i] ."\"> ". basename($dir ."/". $filliste[$i], ".". $ext["extension"]) ."</A> \n";
}

?>
Avatar billede sukos Juniormester
13. februar 2004 - 14:49 #11
HOV!!!!!VENT!!! :O)
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 14:49 #12
Parse error: parse error in /home/web/web11058/fugleforumdk/artikler/Andre (5)/test.php on line 27
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 14:50 #13
lol
Avatar billede sukos Juniormester
13. februar 2004 - 14:52 #14
<?php
$viewtypes = array(".txt",".pdf"); // Filtyper der skal vises!

if ($vis) {
      include ("$vis");

exit;
}
if(!isset($dir)){
$dir = ".";
}

$filliste = array();

if ($dirpointer = @opendir($dir)) {
  while($file = readdir($dirpointer)) {
      $extension = ".".strtolower(end(explode(".", $file)));
      if (in_array($extension, $viewtypes)) {
    $filliste[] = $file;
      }
  }
  closedir($dirpointer);
}

sort($filliste);

for($i = 0; $i < count($filliste); $i++) {
      $ext = pathinfo($dir ."/". filliste[$i]);
      $size = round(filesize($dir."/". $filliste[$i])/1024, 2);
      echo "<a href=\"index.php?vis=". $filliste[$i] ."\"> ". basename($dir ."/". $filliste[$i], ".". $ext["extension"]) ."</A> \n";
}

?>
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 14:55 #15
Stadig: Parse error: parse error in /home/web/web11058/fugleforumdk/artikler/Andre (5)/test.php on line 28
:-(
Avatar billede sukos Juniormester
13. februar 2004 - 14:59 #16
Den her alene, skulle vel ikke gi nogen error?

<?php
$viewtypes = array(".txt",".pdf"); // Filtyper der skal vises!

if ($vis) {
      include ("$vis");

exit;
}
if(!isset($dir)){
$dir = ".";
}

$filliste = array();

if ($dirpointer = @opendir($dir)) {
  while($file = readdir($dirpointer)) {
      $extension = ".".strtolower(end(explode(".", $file)));
      if (in_array($extension, $viewtypes)) {
    $filliste[] = $file;
      }
  }
  closedir($dirpointer);
}

sort($filliste);

?>
Avatar billede sukos Juniormester
13. februar 2004 - 15:00 #17
her:
$ext = pathinfo($dir ."/". filliste[$i])



$ext = pathinfo($dir ."/". $filliste[$i])
Avatar billede sukos Juniormester
13. februar 2004 - 15:00 #18
æhh, og du bruger jo umiddelbart ikke $size til noget?
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 15:06 #19
Hmm, den sidste kode kan jeg ikke få til at virke.
Avatar billede sukos Juniormester
13. februar 2004 - 15:22 #20
<?php
$viewtypes = array("txt","pdf"); // Filtyper der skal vises!

if ($vis) {
      include ("$vis");

exit;
}


if(!isset($dir)){
$dir = ".";
}

$filliste = array();

if ($dirpointer = @opendir($dir)) {
  while($file = readdir($dirpointer)) {
      $ext = pathinfo($dir ."/". $file);
      if (in_array(strtolower(@$ext["extension"]), $viewtypes)) {
      $filliste[] = $file;
      }
  }
  closedir($dirpointer);
}


sort($filliste);

for($i = 0; $i < count($filliste); $i++) {
      $ext = pathinfo($dir ."/". $filliste[$i]);
      $size = round(filesize($dir."/". $filliste[$i])/1024, 2);
      echo "<a href=\"index.php?vis=". $filliste[$i] ."\"> ". basename($dir ."/". $filliste[$i], ".". $ext["extension"]) ."</A> \n";
}

?>
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 16:18 #21
Det er MEGET fornemt, tusind tak!!!
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 16:26 #22
det eneste:

echo "<a href=\"index.php?vis=". $filliste[$i] ."\"> ". basename($dir ."/". $filliste[$i], ".". $ext["extension"]) ."</A> \n";

ændres til

      echo "<a href=\"index.php?vis="$filliste[$i]"\"> ". basename($dir ."/". $filliste[$i], ".". $ext["extension"]) ."</A> \n";
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 20:21 #23
lige et tillægsspørgsmål: hvis den skal sortere efter tal (0-9) i stedet for bogstaver, hva gør man så ?? :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester