[PHP] - $DOCUMENT_ROOT zu lahm???
-
Hi leute!
ich habe auf meiner Homepage eine Exchange.php in einem UNTERVERZEICHNIS.
Nun, wenn ich folgendes nehme, um die grösse zu ermitteln braucht es 2 minuten bis endlich alles geladen wurde:
$filepath = $DOCUMENT_ROOT."/webusers/13/pages/"; $web_dir = "pages/"; //Umwandlung von Bytes in MB $einheit = array("Byte","KB","MB","GB"); $size_einheit = 0; $size = filesize($filepath.$file); while($size > 999) { $size_einheit++; $size = 1024; } $file_size = number_format($size,2,',','.').' '.$einheit[$size_einheit];
Lasse ich aber das $DOCUMENT_ROOT weg, dann wurde alles SUPER SCHNELL geladen wie es sich gehört, die grösse wird dann aber allerdings als 0,00 KB angezeigt!
Warum des?? Gibts keine andere möglichkeit?
mfg
Pro
-
und wenn ich anstatt DOCUMENT_ROOT $filepath = "http://programmer.cyberhost.tk/webusers/13/pages/";
schreibe, dann gehts, nur werden mir KEINE DATEIEN etc aufgelistet!
-
lol, wenn er nichts findet ist es logisch, dass es SUPER SCHNELL ist. Und woher weißt du, dass Mgl. 2 funktioniert, wenn KEINE DATEIEN aufgelistet werden (ohne, dass du den Code von filesize postet kann ich dir nicht sagen, ob das normal ist, oder nicht).
Befinden sich denn besonders viele Dateien in dem Verzeichnis und dessen Unerverzeichnissen?btw hat dieses Geschwindigkeitsproblem überhaupt nichts mit $DOCUMENT_ROOT zu tun
[ Dieser Beitrag wurde am 27.06.2003 um 19:22 Uhr von flenders editiert. ]
-
also. wenn der schnell ist, dann ist gut und recht.
ja, es befindet sich eine index.html drin, die auch angezeigt wird!
Und ich glaub alles langsame liegt an der auswertung der grösse der files!
wenn ich das "grösse" rausnehme, gehts schnell! aber sobald die grösse einer datei angezeigt werden soll tja.. wart wart wart.-...
-
wie soll die schleife hier überhaupt jemals enden, wenn $size > 999 ?
while(size > 999) { size_einheit++;
$size = 1024;
}
-
War mir gar nicht aufgefallen - im Orginal hieß es auch mal
while($size > 999) { $size_einheit++; $size /= 1024; }
-
ach ja.. das / hab ich weggemacht!
denn wenn /= steht, dann wird mir IMMER nur 4.00KB angezeigt, auch wenn es 100KB dateien sind!
-
bestimmt wird das skript nie fertig (endlosschleife), nur der server bricht die skriptausführung nach 2 minuten ab.
-
ja.. nun /= dann wird mir nur immer 4KB angezeigt, auch bei 100KB grossen dateien etc! Nur warum das?
-
Nimm mal die while Schleife ganz raus - ist ja eh nur zur Umwandlung der Einheit
-
löl!
hab den fehler gefunden!
Mein script dass alles automatisch erstellt hatte anstatt'.'.'.',','.' ' einfach
\',\',\'\' erstellt.. also die \ weg und es funzt!
Nun dem make_it hab ich jetzt eine Lektion erteilt und jetzt funzt des auch!
thx trotzdem..