Avatar billede roz Nybegynder
19. december 2007 - 20:13 Der er 5 kommentarer og
1 løsning

Filesize af en fil udenfor web-dir

Hejsa,

har et problem med at finde fil størrelse af nogle filer der ligger uden for mit webdir.

Til visning af disse filer bruger jeg følgende:

if (file_exists($filename)) $handle = fopen($filename, "r");
else $handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
switch($fil)
{
tilføjer den korrekte header her
ex
    case('.jpg'):
    $content = 'image/jpeg';
    break;
}
print $contents;

og så blot <img src="ovenståendefil.php?id=39">.

Men hvis jeg prøver det samme med filesize:
filesize("ovenstående.php?i=$id")
får jeg blot en "stat failed" error.

Nogen der ved hvad jeg kan gøre for at fikse dette?
Avatar billede coderdk Praktikant
19. december 2007 - 20:35 #1
Sådan virker det ikke, hvis det skal virke, skal du bruge FQDN-stien: filesize("http://ditsite.dk/sti/ovenstående.php?i=$id"); og så er det ikke sikker at det virker, da du måske skal sætte content-length-headeren også... ovenstående.php?i=$id er ikke et gyldig lokalt filnavn... Og hvis det var, var det størrelsen på PHP-koden og ikke billedet...
Avatar billede roz Nybegynder
19. december 2007 - 20:48 #2
Tak for svaret - men lidt uddybning ville være rart :)

Har fundet og prøvet følgende:

if (file_exists($filename)) $handle = fopen($filename, "r");
$content_len = (int) filesize($handle, "file.txt");
header("Content-length: $content_len");

Men får en fejl med "wrong parameter count" i den første af linjerne og hvis jeg blot retter det til:

$content_len = (int) filesize($handle);

får jeg samme "stat failed" fejl som først.
Så hvad skal man lige gøre i denne situation? :S
Avatar billede showsource Seniormester
19. december 2007 - 20:49 #3
$fil = file_get_contents($filename);
$str = strlen($fil);
Avatar billede roz Nybegynder
19. december 2007 - 21:50 #4
Ahh virker super :)

Smid et svar så får du point.

Tak for hjælpen til jer begge :)
Avatar billede showsource Seniormester
20. december 2007 - 06:46 #5
ehh, ingen pointt til mig, ellers tak
Avatar billede roz Nybegynder
20. december 2007 - 17:11 #6
Helt iorden, jeg lukker så.

Tak for hælpen :)
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