All pastes #126554 Raw Edit

php remoteFileExists

public php v1 · immutable
·published 2006-08-11 16:20 UTC
rendered paste body
<?phpfunction remoteFileExists($sUrl){        for(;;)        {                $aUrl = @parse_url($sUrl);                if(is_array($aUrl) === FALSE)                {                        return false;                }                $rF = @fsockopen($aUrl['host'], 80, $iErrno, $sErrstr, 3);                if($rF === FALSE)                {                        return false;                }                fputs($rF, "HEAD $sUrl HTTP/1.1\r\n");                fputs($rF, 'HOST: '.$aUrl['host']."\r\n");                fputs($rF, "Connection: close\r\n\r\n");                $sHeaders = '';                while(@feof($rF) === FALSE)                {                        $sHeaders .= @fgets($rF, 4096);                }                @fclose($rF);                $aHeaders = explode("\n", $sHeaders);                if(strpos($aHeaders[0], '200') !== FALSE)                {                        return $sUrl;                }                else if(strpos($aHeaders[0], '404') !== FALSE)                {                        return false;                }                else if(strpos($aHeaders[0], '301') !== FALSE || strpos($aHeaders[0], '302') !== FALSE)                {                        $sUrl = trim(substr($aHeaders[1], strpos($aHeaders[1], ':')+1));                }                else                {                        return false;                }        }}?>