remote_file_exists
Auteur: Wim - 21 oktober 2007 - 21:23 - Gekeurd door: marten - Hits: 4075 - Aantal punten: (0 stemmen)
Hetzelfde als file_exists, maar dan voor remote files.
gebruik:
remote_file_exists(par1, par2[, par3])
par1: domein, zonder http://, enkel bvb sitemasters.be of www.sitemasters.be
par2: het bestand, vanaf de root van het domein gezien. bvb /index.php (= http://www.sitemasters.be/index.php)
par3: evenuteel een andere poort. Standaard 80
return waarde: true/false
Greetings,
GDX^
fixes:
- $port variabele toch ook maar in het script gebruikt
- par4 toegevoegd: $get. Werken we met het GET (true) of met het HEAD (false, default) commando? HEAD haalt niet het volledige bestand op, maar kan evt gecached en verouderd zijn!
- volledige eerste regel wordt gecontroleerd wegens conflicten
|
Code: |
<?php
function remote_file_exists ($domein, $path, $port = 80, $get = false)
{
$path = (substr($path, 0, 1) != '/') ? '/'.$path : $path;
$sock = fsockopen($domein, $port, $errno, $errstr, 5); //5s timeout
if (!$sock)
return false;
$cmd = ($get === true) ? "GET ".$path." HTTP/1.1\r\n" : "HEAD ".$path." HTTP/1.1\r\n";
$cmd .= "Host: ".$domein."\r\n";
$cmd .= "Connection: Close\r\n\r\n";
fwrite($sock, $cmd);
$output = NULL;
while (!feof($sock))
$output .= fgets($sock, 128);
fclose($sock);
if(preg_match('#HTTP/1.1 200 OK#', $output))
return true;
else
return false;
}
<?php function remote_file_exists ($domein, $path, $port = 80, $get = false) { $path = (substr($path, 0, 1) != '/') ? '/'.$path : $path; $sock = fsockopen($domein, $port, $errno, $errstr, 5); //5s timeout if (!$sock) return false; $cmd = ($get === true) ? "GET ".$path." HTTP/1.1\r\n" : "HEAD ".$path." HTTP/1.1\r\n"; $cmd .= "Host: ".$domein."\r\n"; $cmd .= "Connection: Close\r\n\r\n"; $output = NULL; $output .= fgets($sock, 128); return true; else return false; }
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|