Potřeboval bych zjistit velikost souboru na vzdáleném serveru (např. Slunecnice.cz,...). Pomocí filesize to nefunguje a s get_headers ano, ale né na WZ.cz, kde verze PHP není 5. A pokud to nijak zjistit nejde, tak alespoň zjistit zda soubor existuje.
                                 
                                 
                               
               
                              
                                 
                                      O jaky soubor by se jednal? Pokud bude mensi jak 2MB, tak by sla pouzit finta. Nacist ten soubor pomoci $obsah = file_get_contents('url'); a pak uz jen zjistit jeho velikost $velikost = strlen($obsah);
                                 
                                 
                               
               
                              
                                 
                                      
Tomík napsal:
 $obsah =
> file_get_contents('url'); 
hm... nevim jak je nastaveno wz.cz ted, ale pokud se nepletu tak pul roku zpatky byla tato funkce zakazana s absloutnim umistenim ! 
(povoleno bylo: file_get_contents('./muj/soubor.txt');  ale ne file_get_contents('http://neco.cz/soubor'); ) 
xD tak nevim :)
                                 
                                 
                               
               
                              
                                 
                                      Freeze: Defaultne zakazana je, ale da se odblokovat.
                                 
                                 
                               
               
                              
                                 
                                      <?php
if(!function_exists('get_headers'))
{
    function get_headers($url,$format=0)
    {
        $url=parse_url($url);
        $end = "\r\n\r\n";
        $fp = fsockopen($url['host'], (empty($url['port'])?80:$url['port']), $errno, $errstr, 30);
        if ($fp)
        {
            $out  = "GET / HTTP/1.1\r\n";
            $out .= "Host: ".$url['host']."\r\n";
            $out .= "Connection: Close\r\n\r\n";
            $var  = '';
            fwrite($fp, $out);
            while (!feof($fp))
            {
                $var.=fgets($fp, 1280);
                if(strpos($var,$end))
                    break;
            }
            fclose($fp);
            $var=preg_replace("/\r\n\r\n.*\$/",'',$var);
            $var=explode("\r\n",$var);
            if($format)
            {
                foreach($var as $i)
                {
                    if(preg_match('/^([a-zA-Z -]+): +(.*)$/',$i,$parts))
                        $v[$parts[1]]=$parts[2];
                }
                return $v;
            }
            else
                return $var;
        }
    }
}
?>
                                 
                                 
                               
               
                              
                                 
                                      Mydlo: Dobra alternativa, ktera vsak zde nebude fungovat. fsockopen() je mezi zakazane funkce a neda se zpristupnit.
                                 
                                 
                               
               
                              
                                 
                                      Jedná se o soubory větší než 2 MB. Menší můžu nahrát k sobě, ale tech velkejch by se tam moc nevešlo. Ten kód Mydla funguje, ale bohužel jen na localhostu a ne na WZ.