| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
FilesizeAngabe wird nicht angezeigt :(
Diskussion: FilesizeAngabe wird nicht angezeigt :( im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige
Webspace: cybton.com
----------------------------------
hi,
ich möchte gern, dass mir PHP automatisch die Größe der verlinkten Bilder anzeigt.
Dazu hab ...
 |
03.10.05, 23:43
|
#1 (permalink)
|
Registriert seit: 08.10.03 Likes: 0 | FilesizeAngabe wird nicht angezeigt :( Anzeige Webspace: cybton.com
----------------------------------
hi,
ich möchte gern, dass mir PHP automatisch die Größe der verlinkten Bilder anzeigt.
Dazu hab ich folgendes Skript, welches ich im <head>-Bereich der HTML-Datei eingefügt habe: PHP-Code: <?php function get_size($url) { $head = ""; $url_p = parse_url($url); $host = $url_p["host"]; $path = $url_p["path"];
$fp = fsockopen($host, 80, $errno, $errstr, 20); if(!$fp) { return $errstr; } else { fputs($fp, "HEAD ".$url." HTTP/1.1\r\n"); fputs($fp, "HOST: dummy\r\n"); fputs($fp, "Connection: close\r\n\r\n"); while (!feof($fp)) { $head .= sprintf("%s%s", $ourhead, fgets ($fp, 128)); } } fclose ($fp); $head = explode("\n", $head); foreach($head as $h) { $s = "Content-Length: "; if(substr($h, 0, strlen($s)) == $s) { $size = substr($h, strlen($s)); break; } } return $size; } ?> Im <Body>-Tag ist dann folgendes zufinden. PHP-Code: <?php echo get_size("http://xxx/test/bild2.jpg"); ?> Aber leider funktioniert es nicht. Da wo die Größe der Datei stehen sollte steht gar nichts.
Woran liegt das. Was muss ich ändern? Danke |
| |
04.10.05, 13:14
|
#2 (permalink)
|
Registriert seit: 17.03.04 Likes: 2 | Hab mir das Script mal angeschaut! Es funzt, bis auf ein paar kleinigkeiten.
1)Hast Du das Script nur Lokal getestet? Wenn ja eine gültige Adresse angegeben?
Lokal ging es bei mir einwandfrei.
2)Hast Du das Script schonmal mit einer gültigen Webadresse gefüttert? Da bekommst nämlich gleich eine Fehlermeldung, "Connection Timeout..."
__________________ Mfg Basic Avid
- Use it or be used! - |
| | | |
| | HaBOT
| - Anzeige - |
| |
04.10.05, 14:02
|
#3 (permalink)
| Themenstarter
Registriert seit: 08.10.03 Likes: 0 | hi BasicAvid,
Lokal funzt das einwandfrei. Cybton.com hat wahrscheinlich "fsockopen" deaktiviert.
Weißt du vllt einen Webspace-Anbieter der es aktiviert hat oder eine andere Möglichkeit die Größen der Dateien auszugeben. danke |
| |
04.10.05, 17:37
|
#4 (permalink)
|
Registriert seit: 17.03.04 Likes: 2 | Du hast ja Zugriff auf die Dateien oder?
Wenn ja kannst Du das ganze mit der Funktion filesize() auslesen, die liefert Dir nämlich die Größe einer Datei in Bytes!
Was genau willst Du eigentlich machen?
__________________ Mfg Basic Avid
- Use it or be used! - |
| |
04.10.05, 18:32
|
#5 (permalink)
| Themenstarter
Registriert seit: 08.10.03 Likes: 0 | Zugriff hab ich, ja.
Hab das hier noch ausprobiert. Klappt aber auch nicht und nur filesize() klappt auch nicht bei cybton.com. Ich werd die Tage mal den Webspace wechseln. Mal schauen, wie es dann dort aussieht. Was ich machen will? Die Größe von Bildern auslesen. PHP-Code: <?php
function Dateigroesse($URL) { $Groesse = filesize($URL); if($Groesse<1000) { return number_format($Groesse, 0, ",", ".")." Bytes"; } elseif($Groesse<1000000) { return number_format($Groesse/1024, 0, ",", ".")." kB"; } else { return number_format($Groesse/1048576, 0, ",", ".")." MB"; } }
?> <html> <head> <title>Dateigröße eines Downloads automatisch anzeigen</title> </head> <body>
<a href="downloads/bilder.zip">Download</a> <?php echo Dateigroesse("downloads/bilder.zip"); ?><br> <a href="downloads/programm.zip">Download</a> <?php echo Dateigroesse("downloads/programm.zip"); ?>
</body> </html> |
| |
04.10.05, 19:49
|
#6 (permalink)
| | Moderator
Registriert seit: 17.10.01 Likes: 0 | worauf zeigt die "URL"? kann sein, dass dein provider wie oben schon geschrieben externe links nicht zulaesst. --> wenn du die groesse von lokalen files haben willst, nimm lokale pfade...damit wirds sicher funktionieren. |
| |
04.10.05, 22:00
|
#7 (permalink)
|
Registriert seit: 17.03.04 Likes: 2 | Soweit ich gesehen habe willst Du die Files anzeigen und zum Download anbieten oder? Das nachfolgende Script liest aus einem Verzeichnis alle Dateien aus und zeigt Sie an. Liegt die PHP-Datei auf dem gleichen Server wie Dateien die Du auslesen willst? PHP-Code: <?php function link() { echo "OnMouseOver=\"javascript:this.className='over'\" OnMouseOut=\"javascript:this.className='zeile'\""; }
?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title>Download</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <style type="text/css"> .over{background-color:#7428D0;} .up{} a:link{ text-decoration:none; color:#ffffff; } a:link:hover{ text-decoration:none; color:#ffffff; } a:visited{ text-decoration:none; color:#ffffff; } a:visited:hover{ text-decoration:none; color:#ffffff; } td.title{ border:1px; border-style:solid; border-color:#000000; background-color:#7428D0; font-size:10pt; font-weight:bold; } td.zeile{ border:1px; border-style:solid; border-color:#7428D0; background-color:#000000; color:#ffffff; font-size:10pt; } td.info{ color:#ffffff;} body{ background-color:#000000;} button { border:1px; border-style:solid; border-color:#ffffff; background-color:#7428D0;} </style> <body> <table border="0" align='center' width="470" cellspacing="1"> <tr><td class="title">Dateiname</td><td class="title">Typ</td><td class="title">Geändert</td><td class="title">Größe</td></tr> <?php $loginOK=TRUE; if(isset($loginOK)) { function showdir($path) { $zaehler=0; //echo "<tr><th colspan='3' align='center'width='350'>Scripte</th></tr>\n"; $dirs = $files = array(); $dir = opendir($path); while($entry = readdir($dir)) if(is_file($entry)) { $entry=strtolower($entry); $files[]=$entry; } fclose($dir); sort($files); for($i=0;$i<count($files);$i++) { $fsize=filesize($files[$i]); $fmtime=filemtime($files[$i]); $fmtime=date("d.m.Y",$fmtime); $ftyp=explode(".",$files[$i]); echo "<tr><small><td class='zeile'",link(),"><a href='", $files[$i], "'>$ftyp[0]</a></td><td class='zeile' align='center'>",$ftyp[1],"</td><td class='zeile' align='center'>$fmtime</td><td align='right' class='zeile'>",$fsize,"</td></tr>\n"; $zaehler++; } if($zaehler==0) { echo "<tr><td colspan='4' class='info'><small>Es wurden keine Dateien zum anzeigen gefunden!</small></td></tr>\n"; } else { echo "<tr><td colspan='4' class='info'><small>Es wurde(n) $zaehler Datei(en) zum anzeigen gefunden!</small></td></tr>\n"; } } showdir('./'); } else { echo "<tr><td colspan='2' align='center' class='info'><h3>Sie haben sich nicht angemeldet!</h3></td></tr>\n"; } ?> </table> <center><button onClick="window.close()" class="button">Close</button></center> </body> </html>
__________________ Mfg Basic Avid
- Use it or be used! - |
| |
04.10.05, 23:16
|
#8 (permalink)
| Themenstarter
Registriert seit: 08.10.03 Likes: 0 | Es funktioniert jetzt. mit dem zweiten Skript einwandfrei, danke. |
| |  | | |
| | | - Anzeige - |
| | [HaBo]
» Web, Network & Multimedia Palace
» (Web-) Design und webbasierte Sprachen
»
FilesizeAngabe wird nicht angezeigt :(
| Themen-Optionen | | | | Ansicht | Linear-Darstellung |
Forumregeln
| Es ist Ihnen nicht erlaubt, neue Themen zu verfassen. Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten. Es ist Ihnen nicht erlaubt, Anhänge hochzuladen. Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten. HTML-Code ist aus. | | |
|