PDA

View Full Version : سوال: نحوه گرفتن حجم فایل



alih110
دوشنبه 21 تیر 1389, 13:15 عصر
سلام دوستان
اگر ما یک لینک دانلود فایل داشته باشیم :
www.mysite.com/barnamenevis.rar

چه طوری می تونیم حجم فایل رو به دست بیاریم (حجم فایل لینک دانلود)

خیلی گشتم چیزی پیدا نکردم

mohkami
دوشنبه 21 تیر 1389, 13:36 عصر
با سلام،


function remote_filesize($url, $user = "", $pw = "")
{
ob_start();
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);

if(!empty($user) && !empty($pw))
{
$headers = array('Authorization: Basic ' . base64_encode("$user:$pw"));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}

$ok = curl_exec($ch);
curl_close($ch);
$head = ob_get_contents();
ob_end_clean();

$regex = '/Content-Length:\s([0-9].+?)\s/';
$count = preg_match($regex, $head, $matches);

return isset($matches[1]) ? $matches[1] : "unknown";
}



منبع:http://snipplr.com/view.php?codeview&id=29

bestirani2
دوشنبه 21 تیر 1389, 14:49 عصر
با توجه به اینکه توی مثالتون گفتید mysite
فکر میکنم حجم یک لینک از سایت خودتون رو میخواهید نشون بدید که در این صورت نیاز به اون همه کد و مصرف بیشتر از سرور نیست
تنها کافیست از تابع داخلی filesize خود php استفاده کنید

int filesize ( string $filename )
ولی اگه فایل در سرور دیگری هست از تابعی که mohkami عزیز قرار داده استفاده کنید.