// get the host name and url path
$parsedUrl = parse_url($url);
+ if (@$parsedUrl['scheme'] == 'file')
+ return file_get_contents($parsedUrl['path']);
+
$host = $parsedUrl['host'];
if (isset($parsedUrl['path'])) {
}
$response = '';
-
// connect to the remote server
$fp = @fsockopen($host, $port, $errno, $errstr, $timeout );
if( !$fp ) {
"Accept: */*\r\n" .
"Accept-Language: en-us,en;q=0.5\r\n" .
"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n" .
- "Keep-Alive: 300\r\n" .
- "Connection: keep-alive\r\n" .
+ "Connection: close\r\n" .
"Referer: http://$host\r\n\r\n");
// retrieve the response from the remote server
- $len =0;
- while ($line = fread($fp, 4096)) {
- $response .= $line;
- if ($host=='localhost')
- stream_set_blocking($fp, 0); // just after connection switch to nonblocking mode
- }
- fclose( $fp );
+
+ $response = stream_get_contents($fp);
if (!strpos($response, "200 OK\r\n"))
return null;
function url_copy($from, $to, $timeout=10)
{
$f = fopen($to, 'wb');
- fwrite($f, url_get_contents($from, $timeout));
+ if (!$f || !fwrite($f, url_get_contents($from, $timeout)))
+ return false;
fclose($f);
+ return true;
}