---
title: "Hämta filstorlek från externa sidor?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/174886-hämta-filstorlek-från-externa-sidor"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Guldstrand"
published: "2008-10-21T15:49:21.000Z"
updated: "2008-10-22T16:49:52.000Z"
replies: 4
views: 506
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/174886-hämta-filstorlek-från-externa-sidor"
---

# Hämta filstorlek från externa sidor?

## #1 — Guldstrand, 2008-10-21T15:49Z

Hur hämtar man filstorleken på filer som finns på andra (externa) sidor?

Testade med "filesize", men fick då:

> Warning: filesize(): Stat failed for <http://externlänk/fil.exe> (errno=2 - No such file or directory)

 :r

Permalänk: https://www.webforum.nu/p/174886

## #2 — SPiN, 2008-10-21T16:09Z

En fuling är att hämta hela filen med file_get_contents(), och sedan ta en strlen() på den.

```
<?php
echo strlen(file_get_contents("http://sida.com"));
```

Annars skickar vissa webservers med filstorleken i headers, men det verkar vara sällsynt på dynamiska sidor (som .php-dokument) - oftast skickas den headern bara vid statiska sidor (som .html-dokument). Den lösningen kan du fixa med get_headers(), den är i mitt tycke lite snyggare -  men första lösningen är nog mer "universell", och fungerar på alla dokument.

Permalänk: https://www.webforum.nu/p/2150563

## #3 — Guldstrand, 2008-10-21T16:46Z

Hmm, ok...  så det räcker att endast skriva "strlen(file_get_contents("direktlänk"))" ?

**EDIT:** En annan fråga...  hur löser jag så att jag endast visar storleken om det direktlänkas till en **fil** (zip, rar, exe), inte annars?

Permalänk: https://www.webforum.nu/p/2150569

## #4 — Guldstrand, 2008-10-22T00:41Z

Just nu har jag följande:

```php
$filnamn = htmlspecialchars($row['direktadress']); 

$adress = strlen(file_get_contents($filnamn));

  // de tillåtna fil-typerna
  $filetypes = 'exe,rar,zip';
  
  // hämta filtypen
  $types = explode(',',$filetypes);
  $file = explode('.',$filnamn);
  $extension = $file[sizeof($file)-1];

  // kolla filtypen
  if(!in_array($extension,$types)){

$filtyp = ""; 
$storlek = "?";
} else { 

$filtyp = "( .$extension )"; 
$storlek = round($adress/1024);
}
```

..och det verkar fungera, MEN det tar en stund innan sidan laddas. :( 
Går det att skynda på det hela lite?

Permalänk: https://www.webforum.nu/p/2150611

## #5 — drew, 2008-10-22T16:49Z

Det tar tid för att hela filen måste hämtas hem innan storleken kan kollas.

Permalänk: https://www.webforum.nu/p/2150680

---

Tråden på webben: https://www.webforum.nu/amne/php/174886-hämta-filstorlek-från-externa-sidor
