note 40781 deleted from function.file-exists by aidan

From: Date: Sat, 18 Sep 2004 05:28:28 +0000
Subject: note 40781 deleted from function.file-exists by aidan
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-76929@lists.php.net to get a copy of this message
Note Submitter: setec at freemail dot it ---- Hi, I have solved the error regarding the 404 header line and I have introduced the suggested improvement about return error codes. Hope this version ss better than previous one. <?php function remote_file_exists ($url) { /* Return error codes: 1 = Invalid URL host 2 = Unable to connect to remote host */ $head = ""; $url_p = parse_url ($url); if (isset ($url_p["host"])) { $host = $url_p["host"]; } else { return 1; } if (isset ($url_p["path"])) { $path = $url_p["path"]; } else { $path = ""; } $fp = fsockopen ($host, 80, $errno, $errstr, 20); if (!$fp) { return 2; } 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; } // sample code $url = "http://www.google.it/intl/it_it/images/logo.gif"; if (remote_file_exists ($url)) { print ($url . " file exists!"); } else { print ($url . " file doesn't exist!"); } ?>

« previous php.notes (#76929) next »