X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fremote_url.inc;h=5c6790aee3f0bc6b03779daf8eecb6cceb0a8e6c;hb=bdeb340a0330f79b276d47252ea09ce7d9afad3c;hp=186b4f97660aeaabb6f9c737b6dacede1ad521e9;hpb=3f3cfa578adbc2b71f4fd9c8d0f5536d26af43d8;p=fa-stable.git diff --git a/includes/remote_url.inc b/includes/remote_url.inc index 186b4f97..5c6790ae 100644 --- a/includes/remote_url.inc +++ b/includes/remote_url.inc @@ -19,6 +19,9 @@ function url_get_contents($url, $timeout=10) // 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'])) { @@ -40,7 +43,6 @@ function url_get_contents($url, $timeout=10) } $response = ''; - // connect to the remote server $fp = @fsockopen($host, $port, $errno, $errstr, $timeout ); if( !$fp ) { @@ -55,20 +57,12 @@ function url_get_contents($url, $timeout=10) "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 - $unblocked=0; - while ($line = fread($fp, 4096)) { - $response .= $line; - if ($host=='localhost' && !$unblocked++) - stream_set_blocking($fp, 0); // just after connection switch to nonblocking mode - usleep(10); - } - fclose( $fp ); + $response = stream_get_contents($fp); if (!strpos($response, "200 OK\r\n")) return null; @@ -85,6 +79,8 @@ function url_get_contents($url, $timeout=10) 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; }