Avatar billede sonic_86 Nybegynder
05. maj 2003 - 14:44 Der er 21 kommentarer og
1 løsning

Hvor meget fylder filen?

Hej
Hvordan laver man så den kan udskrive hvad en fil fylder?

f.eks

http://i.jubii.dk/loginbox/login-top.gif - 831 Byte
Avatar billede tipsen Nybegynder
05. maj 2003 - 14:49 #1
Du kan kun finde filstørrelsen på lokale filer og det gør du vha. filesize()

Se: http://dk.php.net/manual/en/function.filesize.php
Avatar billede erikjacobsen Ekspert
05. maj 2003 - 14:52 #2
Men man kan hente filen hjem, så det bliver en lokal fil, og så kan man finde størrelsen.
Avatar billede tipsen Nybegynder
05. maj 2003 - 14:54 #3
Det er rigtigt, men så mister man jo også lidt pointen med at angive størrelsen.
Avatar billede erikjacobsen Ekspert
05. maj 2003 - 14:54 #4
Man kunne evt. gøre det en gang i døgnet, og putte informationerne i en database
Avatar billede sukos Juniormester
05. maj 2003 - 14:55 #5
synes nu det sluger noget netværks-saft for at hente en fil via http
Avatar billede erikjacobsen Ekspert
05. maj 2003 - 14:56 #6
Og endelig behøver man jo ikke hente filen. Man kan bare spørge den anden
webserver hvor stor den er. Det kan man også fra PHP :)

[ej@dmu-stud ej]$ telnet i.jubii.dk 80
Trying 212.112.128.12...
Connected to i.jubii.dk.
Escape character is '^]'.
HEAD /loginbox/login-top.gif HTTP/1.1
Host: i.jubii.dk

HTTP/1.0 200 OK
Connection: close
Server: Microsoft-IIS/5.0
Cache-Control: max-age=15552000
Expires: Sat, 06 Sep 2003 17:39:54 GMT
Date: Mon, 10 Mar 2003 17:39:54 GMT
Content-Type: image/gif
Accept-Ranges: bytes
Last-Modified: Thu, 16 May 2002 08:36:31 GMT
ETag: "b087cc7b4fcc11:b97"
Content-Length: 831

Connection closed by foreign host.
Avatar billede sukos Juniormester
05. maj 2003 - 14:59 #7
hehe
Avatar billede postndk Nybegynder
05. maj 2003 - 15:29 #8
så er det bare om at smide det gennem en gang fsockopen()
Avatar billede tipsen Nybegynder
05. maj 2003 - 15:36 #9
Erik: Hvordan gør du det sidste og hvad kræver det?
Avatar billede erikjacobsen Ekspert
05. maj 2003 - 15:41 #10
Du kan gøre det i et DOS vindue. Bare skriv det jeg skriver ... :)
Og i PHP kan man bruge fsockopen() som anført.
Avatar billede tipsen Nybegynder
05. maj 2003 - 16:11 #11
Kræver det noget af web-serveren? (Eller fungerer det *altid*?)
Avatar billede sonic_86 Nybegynder
05. maj 2003 - 16:13 #12
Er der ikke en der kan lave et stykke kode?
Avatar billede sonic_86 Nybegynder
05. maj 2003 - 18:19 #13
?
Avatar billede erikjacobsen Ekspert
05. maj 2003 - 19:12 #14
Kode til hvad? Jeg synes ikke du har præciseret dit
problem? Det jeg "antyder" ovenfor er ikke noget
man bør gøre ret tit - uagtet man ikke henter filen,
genererer man netværkstrafik og får din bruger til at
vente - unødigt.

Hvis du kan forklare hvad du vil, kan du måske få hjælp.

Tipsen: fungere "altid". Hvis webserveren kender længden,
så vil den fortælle det. Det gør den så ikke altid, men
så mangler linien bare.
Avatar billede sonic_86 Nybegynder
05. maj 2003 - 19:32 #15
Jeg skal have en koder der kan finde størrelsen på en fil man giver adressen til, og så få den til at udskriv det.

F.eks kunne det se sådan ud:

Filen http://www.google.com/images/hp0.gif fylder 4277 Byte (Må godt stå i kb eller mb)
Avatar billede erikjacobsen Ekspert
05. maj 2003 - 19:39 #16
Nu er det jo ikke en fil du angiver adressen til, det er en URL. Er
det altid en URL? Og hvad skal der ske hvis størrelsen ikke er kendt?
Og hvad skal du bruge det til??
Avatar billede erikjacobsen Ekspert
05. maj 2003 - 19:47 #17
Du kan sikkert blive inspireret af dette:

<?
  $length = -1;
  if ($f=fsockopen("www.google.com",80)) {
    fwrite($f,"HEAD /images/hp0.gif HTTP/1.1\r\n");
    fwrite($f,"Host: www.google.com\r\n");
    fwrite($f,"\r\n");


    while ($line=fgets($f,1024)) {
      //print $line;
      if (eregi('^Content-length: ([0-9]+)',$line,$r)) {
        $length = $r[1];
        break;
      }
    }
    fclose($f);
}

print "Længden er: $length\n";

?>
Avatar billede sonic_86 Nybegynder
05. maj 2003 - 20:43 #18
Jeg skal bruge det til en siden hvor man kan download filer hvor så ved siden af fil navnet skal der stå hvor meget den fylder.
Avatar billede erikjacobsen Ekspert
05. maj 2003 - 20:47 #19
Du skal gøre dine besøgende den tjeneste IKKE at hente de
oplysninger for 100 filer på samme side. Så er de faldet i søvn
inden de får din side at se
Avatar billede sonic_86 Nybegynder
05. maj 2003 - 21:16 #20
Så alt i alt vil det være nemmest og bedst hvis jeg selv skrev hvad de fylder?
Avatar billede erikjacobsen Ekspert
05. maj 2003 - 21:33 #21
Eller laver noget automatisk en gang om dagen. Selvfølgelig kan
det lade sig gøre, men det tager tid.
Avatar billede sonic_86 Nybegynder
05. maj 2003 - 21:35 #22
Tak for hjælpen men jeg tro jeg selv skriver størrelsen...
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