Avatar billede jetzen Nybegynder
29. december 2004 - 21:21 Der er 8 kommentarer og
1 løsning

problemer med script

Jeg bruger følgende script til at vise filer i en given mappe på serveren:

Hvor $mappe indeholder stien til mappen.

<?
function file_size_convert($filesize) {
    $sizetitles = array('B', 'KB', 'MB', 'GB', 'TB');
    $tmpcount = 0;
    while($filesize >= 1024 && $tmpcount < count($sizetitles)) {
        $filesize /= 1024;
        $tmpcount++;
    }
    return sprintf('%0.2f', $filesize) . ' ' . $sizetitles[$tmpcount];
}

echo "<table>";
echo "<tr nowrap><td></td><td width='100'>Filnavn</td><td width='75'>Størrelse</td><td  width='150'>Ændret</td><tr>";


$filer = array();
if ($handle = opendir($mappe)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && !is_dir($file)) {
            $filer[]= $file;
        }
    }
    closedir($handle);
}


sort($filer);
reset($filer);
foreach ($filer AS $val) {
  $created = date("d-m-Y H:i:s", filemtime($mappe.$val));
    $modified = date("d-m-Y H:i:s", filectime($mappe.$val));
    $size = file_size_convert(filesize($mappe.$val));

    $size = file_size_convert(filesize($mappe.$val));

    echo "<tr><td></td><td><a href=\"".$mappe.$val."\">".$val."</a></td><td>".$size."</td><td>".$created."</td><td>".$modified."</td><tr>";
}


echo "</table>";

?>

Problemet opstår da den ikke kan angive størrelsen af en mappe.
Hvordan undgåe jeg det?
Avatar billede elskermad.dk Nybegynder
29. december 2004 - 21:35 #1
jeg forstår ikke spørgsmålet... prøv at skriv fejlmeddelsen!

hvis det er en funktion der ikke må sende fejl kan du sætte @ foran navnet
Avatar billede jetzen Nybegynder
29. december 2004 - 21:40 #2
Den kommer med følgende fejlmeddelelse:

Warning: filemtime() [function.filemtime]: stat failed for ../userfiles/layoutlay2 in D:\web\cms\admin\files.php on line 50

Warning: filectime() [function.filectime]: stat failed for ../userfiles/layoutlay2 in D:\web\cms\admin\files.php on line 51

Warning: filesize() [function.filesize]: stat failed for ../userfiles/layoutlay2 in D:\web\cms\admin\files.php on line 52

Warning: filesize() [function.filesize]: stat failed for ../userfiles/layoutlay2 in D:\web\cms\admin\files.php on line 54

Warning: filemtime() [function.filemtime]: stat failed for ../userfiles/layoutlayout1 in D:\web\cms\admin\files.php on line 50

Warning: filectime() [function.filectime]: stat failed for ../userfiles/layoutlayout1 in D:\web\cms\admin\files.php on line 51

Warning: filesize() [function.filesize]: stat failed for ../userfiles/layoutlayout1 in D:\web\cms\admin\files.php on line 52

Warning: filesize() [function.filesize]: stat failed for ../userfiles/layoutlayout1 in D:\web\cms\admin\files.php on line 54


og i princippet er det jo en mulighed at blokere fejlmeddelelsen, men jeg vil hellere helt undgå fejlten


Fejlen består i at jeg med foreach koden løber alle filer i mappen i gennem, og tjekker størrelsen af filerne, hvilket man ikke kan med mapper.
Hvordan får jeg den til at springe over size,created og modified hvis posten er en mappe?
Avatar billede erikjacobsen Ekspert
29. december 2004 - 21:53 #3
Du springer mapperne over. Har du prøvet at læse hvad den skriver til dig?
Du skal udskifte
    $mappe.$val
med fx
    "$mappe/$val"
Avatar billede jetzen Nybegynder
29. december 2004 - 22:03 #4
Det var dog en dum fejl.
Takker for hjælpen.

Lægger du et svar?!?
Avatar billede erikjacobsen Ekspert
29. december 2004 - 22:04 #5
Nej tak, jeg samler slet ikke på point.
Avatar billede jetzen Nybegynder
29. december 2004 - 22:07 #6
Det er vist hellere ikke nødvendigt medden stak...
Men lidt karma skal du ha'.
Avatar billede bauerdata Nybegynder
29. december 2004 - 22:07 #7
Det ser ud til kun at være et problem på MS.
Det virker fint på linux. Der har mapper også en størrelse.
Avatar billede jetzen Nybegynder
29. december 2004 - 22:07 #8
Lukker
Avatar billede erikjacobsen Ekspert
29. december 2004 - 22:11 #9
Jeg samler heller ikke på karma, tak.
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