| Autor | Zpráva | ||
|---|---|---|---|
| warezov Profil |
#1 · Zasláno: 6. 1. 2011, 09:09:18
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 |
#2 · Zasláno: 6. 1. 2011, 09:20:26 · Upravil/a: Darker
filesize- velikost
strlen(file_get_contents(soubor)) Mám pocit, že to vrátí to samé, ale radši to vyzkoušej |
||
| warezov Profil |
#3 · Zasláno: 6. 1. 2011, 09:23:39
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 |
#4 · Zasláno: 6. 1. 2011, 10:49:23 · Upravil/a: lordfrikk
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);
?> |
||
|
Časová prodleva: 15 let
|
|||
0