note 59985 added to function.file-exists

From: Date: Thu, 22 Dec 2005 02:10:23 +0000
Subject: note 59985 added to function.file-exists
Groups: php.notes 
Request: Send a blank email to php-notes+get-100556@lists.php.net to get a copy of this message
here a function to check if a certain URL exist: function url_exists($url) { $a_url = parse_url($url); if (!isset($a_url['port'])) $a_url['port'] = 80; $errno = 0; $errstr = ''; $timeout = 30; if(isset($a_url['host']) && $a_url['host']!=gethostbyname($a_url['host'])){ $fid = fsockopen($a_url['host'], $a_url['port'], $errno, $errstr, $timeout); if (!$fid) return false; $page = isset($a_url['path']) ?$a_url['path']:''; $page .= isset($a_url['query'])?'?'.$a_url['query']:''; fputs($fid, 'HEAD '.$page.' HTTP/1.0'."\r\n".'Host: '.$a_url['host']."\r\n\r\n"); $head = fread($fid, 4096); fclose($fid); return preg_match('#^HTTP/.*\s+[200|302]+\s#i', $head); } else { return false; } } in my CMS, I am using it with those lines: if(!isset($this->f_exist[$image]['exist'])) if(strtolower(substr($fimage,0,4)) == 'http' || strtolower(substr($fimage,0,4)) == 'www.'){ if(strtolower(substr($image,0,4)) == 'www.'){ $fimage = 'http://'.$fimage; $image = 'http://'.$image; } $this->f_exist[$image]['exist'] = $this->url_exists($fimage); //for now } else { $this->f_exist[$image]['exist'] = ($fimage!='' && file_exists($fimage) && is_file($fimage) && is_readable($fimage) && filesize($fimage)>0); } } ---- Manual Page -- http://www.php.net/manual/en/function.file-exists.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+59985 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+59985&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+59985&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+59985&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+59985&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+59985&report=yes&reason=non-english Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+59985&report=yes&reason=already+in+docs Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+59985&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+59985&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#100556) next »