Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Dateigröße eines Remote Bilds auslesen Antworten
Dateigröße eines Remote Bilds auslesen

schmchris
Mausakrobat


Beiträge: 163


Wie kann ich die Dateigröße einer Bilddatei auf einem entfernten Server auslesen ?

Beispiel: ***

Ausgabe zum Beispiel "1334" (Bytes).

Mit "getfilesize" gehen ja leider nur lokale Dateien.



Diese Nachricht wurde geändert von: schmchris
  Profil   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Ich würde spontan sagen das geht nicht.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

schmchris
Mausakrobat


Beiträge: 163


Um es kurz zu machen, ich würde gern anstatt der Online/Offline Grafik



1:
http://dus.net/dusicon.php?a=*CD5450D58613C14C2BEA855C9DD72996CEF5007C


Etwas anderes ausgeben, zum Beispiel die Wörter Online / Offline.

Da die Daeigröße beider Bilder unterschiedlich wäre hatte ich diese Idee.

Gibts eine möglichkeit das Bild zum lokalen Server zu kopieren und dann Filesize zu nutzen ?

Diese Nachricht wurde geändert von: schmchris
  Profil   Editieren   Zitieren

mouselfescher
Pixelschubser


Beiträge: 5


Ich weiß nicht genau ob es geht, aber du könntest das Bild mit file(), bzw. file_get_content() oder fopen() einlesen, wahrscheinlich eher fopen() einlesen und damit dann die Unterscheidung vornehmen.

  Profil   E-Mail   Website   Editieren   Zitieren

schmchris
Mausakrobat


Beiträge: 163


Hab es mal mir den 3 probiert aber habe es nicht hinbekommen. Wird wohl nicht gehen schade.

  Profil   Editieren   Zitieren

nisita
Posting-Schinder


Beiträge: 553


also ich hab es zwar hinbekommen, aber nur durch das copieren auf den server... den das problem ist irgendwie, dass es ja kei nrichtiges bild ist... ...

gefunden unter: http://de3.php.net/manual/de/function.filesize.php
daraus wird dann:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39:
copy("http://dus.net/dusicon.php?a=*CD5450D58613C14C2BEA855C9DD72996CEF5007C", "bild.gif");
$uri = "http://www.deineigenerserver.de/bild/bild.gif";
function remote_filesize($uri) 
{ 
   // start output buffering 
   ob_start(); 
   // initialize curl with given uri 
   $ch = curl_init($uri); 
   // make sure we get the header 
   curl_setopt($ch, CURLOPT_HEADER, 1); 
   // make it a http HEAD request 
   curl_setopt($ch, CURLOPT_NOBODY, 1); 
   $okay = curl_exec($ch); 
   curl_close($ch); 
   // get the output buffer 
   $head = ob_get_contents(); 
   // clean the output buffer and return to previous 
   // buffer settings 
   ob_end_clean(); 

   // gets you the numeric value from the Content-Length 
   // field in the http header 
   $regex = '/Content-Length:\s([0-9].+?)\s/'; 
   $count = preg_match($regex, $head, $matches); 

   // if there was a Content-Length field, its value 
   // will now be in $matches[1] 
   if (isset($matches[1])) 
   { 
       $size = $matches[1]; 
   } else { 
       $size = 'unknown'; 
   } 

   return $size; 
}

echo remote_filesize($uri);
?>

für den ordner bild brauchst du allerdings schreibrechte... .... und das script muss dann natürilich so wie es jetzt vorliegt auch im ordner bild sein..

leider geht diese variante nicht "direkt", wie bei anderen bildern.. -auch ist es so wie es ejtzt ziemlich sinnlos, dass der server sozusagen online auf das bild zugreift, obwohl es ja bei ihm lokal gespeichert ist... -auch kann dann die ganze funktion weglassen, und es einfach mti getimagesize machen... wollte das halt nur zeigen, das das problem anscheinend an derartigen bildern liegt... ...

mfg
nisita

---
"Wir sollten lernen, uns allmählich vom Überfluss zu befreien, um zur Einfachheit unseres eigenen Wesens vorzudringen." Jean Gastaldi

  Profil   Editieren   Zitieren

schmchris
Mausakrobat


Beiträge: 163


Vielen Dank. Folgendes reicht schon :

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14:
<?php
$id = "*CD5450D58613C14C2BEA855C9DD72996CEF5007C"; 
copy("http://dus.net/dusicon.php?a=".$id, "bild.gif");
$uri = "bild.gif";
$filesize = filesize("bild.gif");
if($filesize == "702")
{
  echo "<b>Account online</b>";
}
else
{
  echo "<b>Account offline</b>";
}
?>

  Profil   Editieren   Zitieren

nisita
Posting-Schinder


Beiträge: 553


kein problem ;)

---
"Wir sollten lernen, uns allmählich vom Überfluss zu befreien, um zur Einfachheit unseres eigenen Wesens vorzudringen." Jean Gastaldi

  Profil   Editieren   Zitieren
 

Antworten
Nach oben