Autor Zpráva
warezov
Profil
Potřeboval bych pomocí PHP vypočítat velikost souboru na serveru. například seznam.cz/index.html.

Lze to nějak jednoduše vypočítat podle počtu znaků v tom daném souboru?

Děkuji
Darker
Profil
filesize- velikost
strlen(file_get_contents(soubor))

Mám pocit, že to vrátí to samé, ale radši to vyzkoušej
warezov
Profil
Zkoušel jsem to takto, ale bez výsledku.

 echo "index.html" . ': ' . filesize("http://www.seznam.cz/index.html") . ' bytes'; 


výstup: index.html: bytes
lordfrikk
Profil
Tady máš 2 způsoby, cURL by mělo fungovat na 99%, protože IMO častěji jej najdeš zapnuté než najdeš povoleno allow_url_fopen, které je potřeba pro první příklad.

P.S.: Jsem si jistý, že tohle funguje jen pro textové soubory, pro binární data je třeba jinačí přístup, sepíšu, jestli bude potřeba.

<?php

function format_size($size)
{
	$units = array(' B', ' KB', ' MB', ' GB', ' TB');
    for ($i = 0; $size >= 1024 && $i < 4; $i++) $size /= 1024;
    return round($size, 2).$units[$i];
}

// 1. zpusob

$size = strlen(file_get_contents('http://www.seznam.cz/index.html'));

echo 'file_get_contents: ' . format_size($size);

// 2. zpusob

$ch = curl_init('http://www.seznam.cz/index.html');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$size = strlen(curl_exec($ch));

curl_close($ch);

echo '<br />cURL: ' . format_size($size);


?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: