ich lasse auf meiner seite mit folgendem script ein verzeichnis auslesen und dessen dateien mit name und dateigröße auflisten.
<?php function fs_convert ($datei, $nachkommastellen = 0) { $size = filesize($datei); if($size >= 1073741824) { return round($size/(1073741824), $nachkommastellen)." GB"; } if($size >= 1048576) { return round($size/(1048576), $nachkommastellen)." MB"; } if($size >= 1024) { return round($size/(1024), $nachkommastellen)." KB"; } return $size." Byte"; } ?> <?php // Dateien auslesen und anzeigen $i=0; $pfad="dateien/progs/"; $verz=opendir ($pfad); ?> <table> <tr> <td width="400">Dateiname</td><td>Dateigröße</td> </tr> </table><hr /> <table> <?php while ($file=readdir($verz)) { if (filetype($pfad.$file)!="dir") { $i++; ?> <tr> <td width="400"><?php echo "<a href='" . $pfad.$file . "' target='_blank'>" . $file . "</a>"; ?></td> <td><?php echo fs_convert($pfad.$file, 2); ?></td> </tr> <?php } } echo "</table>"; closedir($verz); echo "<hr>Es sind $i Dateien verfügbar."; ?>
Das hat bis jetzt wunderbar funktioniert. allerdings habe ich jetzt mal eine datei von 2,7 GB größe hochgeladen, welche auch wirklich auf dem server liegt, doch bei der er bei der dateigröße nur "Byte" wiedergibt, also keine der bedingungen im obigen sctiptteil trifft zu und $size kann nicht bestimmt werden. wenn ich die größe der 2,7 GB datei bestimme, also sagen wir mal
echo filesize($file); echo filetype($file);
dann wird nichts ausgegeben, weder eine größe noch ein dateityp. bei allen anderen dateien auf dem server erscheint als dateityp dann "file" und die größe halt in bytes.
ich schlussfolgere mal ganz klug, dass es wohl an der dateigröße liegt.
zusätzlich erscheinen alle aufgelisteten dateien ja auch gleich als link zum downloaden, auch da klappt es nicht. der link-verknüpfung, also die URL, ist im prinzip richtig, aber beim download erscheint:
Zitat
"dateiname" von www.blablabla.com kann nicht heruntergeladen werden.
Die Internetseite konnte nicht geöffnet werden. Sie ist entweder nicht verfügbar oder konnte nicht gefunden werden. Versuchen Sie es später erneut.
Die Internetseite konnte nicht geöffnet werden. Sie ist entweder nicht verfügbar oder konnte nicht gefunden werden. Versuchen Sie es später erneut.
na, woran scheitert's? ich hoffe, dass ich mir das nicht aus dem kopf schlagen muss so große dateien per http anzubieten.
danke schon mal!!