Likes Likes:  0
Resultaten 1 tot 4 van de 4
Geen
  1. #1
    Eduard Bekker
    Re: Php-routine om te kijken of fotobestand aanwezig is werkt
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Php-routine om te kijken of fotobestand aanwezig is werkt

    Op de heugelijke dag van 10-01-2006 21:54, schreef "Erick T. Barkhuis" in
    MPG.1e2e3d564e1e09c989c8a@news.individual.net, <erick.usenet@ardane.c-o-m>
    pakweg het volgende:

    > Eduard Bekker:
    >
    >> $headers=@get_headers($Url);
    >>
    >> Nu blijkt dat de php versie tijdelijk is teruggezet van 5 naar 4.3.11

    >
    > Dan kijk je even bij http://nl3.php.net/get_headers in de users-
    > commentaren. Daar staat een PHP4-versie.


    Had ik gezien en het volgende geprobeerd:

    //routine om te kijken of fotobestand aanwezig is
    function remote_file_exists($Url)
    {
    $headers=@get_headers($Url);
    if($headers!==false)
    {
    return strpos($headers[0], "200")!==false;
    }
    else return false;
    return true;
    }

    //als get_headers (nog) niet bestaat:
    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;
    }
    }
    }

    Werkt helaas niet.

    --
    /\/\/\/\/\/\/\/\/\
    ..|
    ..| Groetjes, Eduard
    ..|
    \/\/\/\/\/\/\/\/\/


  2. #2
    Eduard Bekker
    Re: Php-routine om te kijken of fotobestand aanwezig is werkt
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Php-routine om te kijken of fotobestand aanwezig is werkt

    Op de heugelijke dag van 10-01-2006 22:29, schreef "Eduard Bekker" in
    BFE9E5DF.125D2%e.bekker@layout.nl, <e.bekker@layout.nl> pakweg het volgende:

    Kleine correctie:

    //routine om te kijken of fotobestand aanwezig is
    function remote_file_exists($Url)
    {
    $headers=@get_headers($Url);
    if($headers!==false)
    {
    return strpos($headers[0], "200")!==false;
    }
    else return false;
    }

    //als get_headers (nog) niet bestaat:
    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;
    }
    }
    }

    Werkt helaas niet.


  3. #3
    Eduard Bekker
    Re: Php-routine om te kijken of fotobestand aanwezig is werkt
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Php-routine om te kijken of fotobestand aanwezig is werkt

    Op de heugelijke dag van 10-01-2006 22:39, schreef "Ronald Klip" in
    MPG.1e2e47fd3e767011989743@news.xs4all.nl, <nieuws@contentecontent.invalid>
    pakweg het volgende:

    > Eduard Bekker schreef:
    >> "Erick T. Barkhuis" :
    >>> Eduard Bekker:
    >>>
    >>>> $headers=@get_headers($Url);
    >>>>
    >>>> Nu blijkt dat de php versie tijdelijk is teruggezet van 5 naar 4.3.11
    >>>
    >>> Dan kijk je even bij http://nl3.php.net/get_headers in de users-
    >>> commentaren. Daar staat een PHP4-versie.

    >>
    >> Had ik gezien en het volgende geprobeerd:

    >
    > Waarom zeg je dat dan niet meteen?
    >
    >> //routine om te kijken of fotobestand aanwezig is
    >> function remote_file_exists($Url)

    >
    > [snip]
    >
    >> Werkt helaas niet.

    >
    > Wat gaat er fout?


    Er gebeurt niets: de pagina blijft blank.
    Hij blijft waarschijnlijk direct hangen bij @get_headers(

    --
    /\/\/\/\/\/\/\/\/\
    ..|
    ..| Groetjes, Eduard
    ..|
    \/\/\/\/\/\/\/\/\/


  4. #4
    Eduard Bekker
    Re: Php-routine om te kijken of fotobestand aanwezig is werkt
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Php-routine om te kijken of fotobestand aanwezig is werkt

    Mime-version: 1.0
    Content-Type: text/plain;
    charset="ISO-8859-1"
    Content-transfer-encoding: 8bit
    Lines: 70
    Organization: Wanadoo
    NNTP-Posting-Date: 13 Jan 2006 18:12:57 GMT
    NNTP-Posting-Host: c529ca0ee.cable.wanadoo.nl
    X-Trace: 1137175977 dr4.euro.net 57978 82.156.160.238:55841
    X-Complaints-To: abuse@wanadoo.nl
    Xref: nl-news.euro.net nl.internet.www.server-side:40136

    Op de heugelijke dag van 12-01-2006 10:12, schreef "Ronald Klip" in
    MPG.1e303bdcf1a16bab989744@news.xs4all.nl, <nieuws@contentecontent.invalid>
    pakweg het volgende:

    > Eduard Bekker schreef:
    >>>
    >>>> Werkt helaas niet.
    >>>
    >>> Wat gaat er fout?

    >>
    >> Er gebeurt niets: de pagina blijft blank.
    >> Hij blijft waarschijnlijk direct hangen bij @get_headers(

    >
    > Tja, dat wordt debuggen.
    > error_reporting(E_ALL);
    >
    > en zo her en der, bijvoorbeeld na je if-statements, iets invoegen à la
    > echo __LINE__ . '<br>';
    > om te zien of die ifs true worden.


    Uiteindelijk via via de volgende functie gekregen:

    function bestand_bestaat($url)
    {
    $head = "";
    $url_p = parse_url ($url);

    if (isset ($url_p["host"]))
    { $host = $url_p["host"]; }
    else
    { return false; }

    if (isset ($url_p["path"]))
    { $path = $url_p["path"]; }
    else
    { $path = ""; }

    $fp = fsockopen ($host, 80, $errno, $errstr, 20);
    if (!$fp)
    { return false; }
    else
    {
    $parse = parse_url($url);
    $host = $parse['host'];

    fputs($fp, "HEAD ".$url." HTTP/1.1\r\n");
    fputs($fp, "HOST: ".$host."\r\n");
    fputs($fp, "Connection: close\r\n\r\n");
    $headers = "";
    while (!feof ($fp))
    { $headers .= fgets ($fp, 128); }
    }
    fclose ($fp);
    $arr_headers = explode("\n", $headers);
    $return = false;
    if (isset ($arr_headers[0]))
    { $return = strpos ($arr_headers[0], "404") === false; }
    return $return;
    }

    Die werkt ook bij oudere php-versies.


    --
    /\/\/\/\/\/\/\/\/\
    ..|
    ..| Groetjes, Eduard
    ..|
    \/\/\/\/\/\/\/\/\/


Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics