note 40029 added to function.filesize
| From: | setec at freemail dot it | Date: | Thu, 19 Feb 2004 12:39:14 +0000 |
| Subject: | note 40029 added to function.filesize | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-65378@lists.php.net to get a copy of this message | ||
This code is usefull if you want not to use a lot of bandwidth and time to get the remote file size.
<?php
function remote_file_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 false; }
else
{
fputs($fp, "HEAD ".$url." HTTP/1.1\r\n");
fputs($fp, "HOST: dummy\r\n");
fputs($fp, "Connection: close\r\n\r\n");
$headers = "";
while (!feof($fp)) {
$headers .= fgets ($fp, 128);
}
}
fclose ($fp);
$return = false;
$arr_headers = explode("\n", $headers);
foreach($arr_headers as $header) {
$s = "Content-Length: ";
if(substr(strtolower ($header), 0, strlen($s)) == strtolower($s)) {
$return = substr($header, strlen($s));
break;
}
}
return $return;
}
print ("Google logo is " . remote_file_size ("http://www.google.it/intl/it_it/images/logo.gif")
. " bytes!");
?>
----
Manual Page -- http://www.php.net/manual/en/function.filesize.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+40029
Delete -- http://master.php.net/manage/user-notes.php?action=delete+40029&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+40029&report=yes
Search -- http://master.php.net/manage/user-notes.php