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>
Annonceindlæg fra Admin By Request
filesize("navnet på filen");
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)];
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: /$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>"; ?>
Det burde være det samme.. Men det er filEsize ikke filsize().
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: /$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>"; ?>
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
27. januar 2005 - 11:12
#7
fandt et andet script
Vi tilbyder markedets bedste kurser inden for webudvikling