Avatar billede ulle55 Nybegynder
29. juni 2004 - 14:58 Der er 6 kommentarer og
1 løsning

Find størrelse på fil

Hvordan finder jeg fil størrelsen, kan koden evt. forenkles???


<?
$the_array = Array();
$handle = opendir('./');
while (false !== ($file = readdir($handle))) {
  if ($file != "." && $file != "..") {
  $the_array[] = $file;
  }
}
closedir($handle);
sort ($the_array);
reset ($the_array);
?>
<table border="1" width="500">
<?php
while (list ($key, $val) = each ($the_array)) {
$ud = substr($val, 0, -4);


if (substr($val, -3) == pdf) {
$billede = "pdf.jpg";
}
elseif (substr($val, -3) == php) {
$billede = "html.jpg";
}
elseif (substr($val, -3) == xls) {
$billede = "xls.jpg";
}
elseif (substr($val, -3) == jpg) {
$billede = "pic.jpg";
}
elseif (substr($val, -3) == doc) {
$billede = "doc.jpg";
}
elseif (substr($val, -3) == zip) {
$billede = "rar.jpg";
}
elseif (substr($val, -3) == exe) {
$billede = "exe.jpg";
}
elseif (substr($val, -3) == msi) {
$billede = "exe.jpg";
}
?>

  <tr>
    <td width="50" align="center">
    <a href=<?php echo "$val"; ?>><img BORDER="0" src="/images/<?php echo "$billede"; ?>"</a></td>
    <td><?php echo "$ud %s"; ?></td>
  </tr>

<?php
}
?>
</table>
Avatar billede dennismp Nybegynder
29. juni 2004 - 15:08 #1
filesize("navnet på filen");
Avatar billede dennismp Nybegynder
29. juni 2004 - 15:10 #2
Dine if'er kan gøres på denne måde:

$files = array();
$files['pdf'] = 'pdf.jpg';
$files['php'] = 'html.jpg';
$files['xls'] = 'xsl.jpg';
..

$billede = $files[substr($val,-3)];
Avatar billede ulle55 Nybegynder
04. juli 2004 - 17:31 #3
Jeg har nu lavet lidt om i min kode, men kan ikke få "filsize" til at virke. Scriptet er lavet på en windows maskine men IIS, og virker der, men har prøvet en linux maskine, hvor det ikke virker. Kan nogle sige mig om der er forskel på den måde linux arbejder i forhold til windows, som skulle gøre at det ikke virker.



Her er det nye script, evt forslag til ændringer, eller hvordan jeg får filsize til at virke modtages gerne.

<?php
$path = "./download/";

if (strrpos($moverse,'..')) {
  $moverse = str_replace('/..','',$moverse);
  $moverse = substr($moverse,0,strrpos($moverse,'/'));
}

if($moverse) $moverse = $moverse."/";

echo "Du er i: &nbsp; /$moverse".'<br>';

$handle=opendir($path.$moverse);

echo "<table border=0 width=500>";


while ($file = readdir($handle)) {
  if(is_dir($path.$moverse.$file) && $file != ".") {

//////////////////////////////      DIR        //////////////////////////////
      if ($file == ".." && $moverse == "") {
//      $file = "";
      } else {

echo "  <tr>";
echo "    <td width=50 align=center>";

      if ($file == "..") {
        $dirbillede = dirback;
        $file1 = Tilbage;
        } else {
        $dirbillede = dir;
        $file1 = $file;
        }

          echo "<a href='index.php?moverse=".$moverse.$file."'><img BORDER=0 src=/images/$dirbillede.jpg></$
      }

echo "    <td>$file1</td>";
echo "  </tr>";

  } else if ($file != ".") {
//////////////////////////////      DIR SLUT      //////////////////////////////

////////////////////////////      FILER        ////////////////////////////
$files = array();
$files['pdf'] = 'pdf.jpg';
$files['htm'] = 'html.jpg';
$files['tml'] = 'html.jpg';
$files['exe'] = 'exe.jpg';
$files['jpg'] = 'pic.jpg';
$files['peg'] = 'pic.jpg';
$files['zip'] = 'rar.jpg';
$files['rar'] = 'rar.jpg';
$files['msi'] = 'exe.jpg';
$files['doc'] = 'doc.jpg';
$files['xls'] = 'xsl.jpg';

$billede = $files[substr($file,-3)];

echo "  <tr>";
echo "    <td width=50 align=center>";


      echo "<a href='".$path.$moverse.$file."'><img BORDER=0 src=/images/$billede></a><br></td>";
  }

echo "    <td>$ud</td>";

echo "  </tr>";

}
////////////////////////////      FILER SLUT      ////////////////////////////
echo " </table>";
?>
Avatar billede dennismp Nybegynder
06. juli 2004 - 16:35 #4
Det burde være det samme.. Men det er filEsize ikke filsize().
Avatar billede ulle55 Nybegynder
29. juli 2004 - 09:17 #5
Her er koden igen, da der manglede noget i den anden. Jeg har lavet og testet det på en win2k maskine med IIS, men det skal ligge på en linux, Apache server, og der virker det ikke. HVORFOR???


<?php
$path = "./download/";

if (strrpos($moverse,'..')) {
  $moverse = str_replace('/..','',$moverse);
  $moverse = substr($moverse,0,strrpos($moverse,'/'));
}

if($moverse) $moverse = $moverse."/";

echo "Du er i: &nbsp; /$moverse".'<br>';

$handle=opendir($path.$moverse);

echo "<table border=0 width=500>";


while ($file = readdir($handle)) {
  if(is_dir($path.$moverse.$file) && $file != ".") {

//////////////////////////////      DIR        //////////////////////////////
      if ($file == ".." && $moverse == "") {
//      $file = "";
      } else {

echo "  <tr>";
echo "    <td width=50 align=center>";

      if ($file == "..") {
    $dirbillede = dirback;
    $file1 = Tilbage;
    } else {
    $dirbillede = dir;
    $file1 = $file;
    }

          echo "<a href='index.php?moverse=".$moverse.$file."'><img BORDER=0 src=/images/$dirbillede.jpg></a><br></td>";
      }

echo "    <td>$file1</td>";
echo "  </tr>";

  } else if ($file != ".") {
//////////////////////////////      DIR SLUT      //////////////////////////////

////////////////////////////      FILER        ////////////////////////////
$ud = $file;
$files = array();
$files['pdf'] = 'pdf.jpg';
$files['htm'] = 'html.jpg';
$files['tml'] = 'html.jpg';
$files['exe'] = 'exe.jpg';
$files['jpg'] = 'pic.jpg';
$files['peg'] = 'pic.jpg';
$files['zip'] = 'rar.jpg';
$files['rar'] = 'rar.jpg';
$files['msi'] = 'exe.jpg';
$files['doc'] = 'doc.jpg';
$files['xls'] = 'xsl.jpg';

$billede = $files[substr($file,-3)];

echo "  <tr>";
echo "    <td width=50 align=center>";


      echo "<a href='".$path.$moverse.$file."'><img BORDER=0 src=/images/$billede></a><br></td>";
  }

echo "    <td>$ud</td>";
echo "  </tr>";

}
////////////////////////////      FILER SLUT      ////////////////////////////
echo " </table>";
?>
Avatar billede dennismp Nybegynder
29. juli 2004 - 12:52 #6
Hvor kommer $moverse fra?

måske skulle du prøve at indsætte følgende øverst:
$moverse = $_REQUEST['moverse'];

evt læse lidt om register_globals
Avatar billede ulle55 Nybegynder
27. januar 2005 - 11:12 #7
fandt et andet script
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