Hi,
You could fetch a remote URL using PHP's URL wrappers. For example,
readfile can stream the contents of a remote URL:
readfile('http://site/content/page.html');
You could also do this with mod_proxy:
ProxyPass /my/mirror/
http://site/content/
Requests for /my/mirror/* will be internally sent to the remote site.
If the page contains internal links that use absolute URLs, you may
want to use mod_proxy_html to rewrite those URLs or use an output
buffer handler. More info on using mod_proxy_html:
<http://www.wlug.org.nz/ApacheReverseProxy>
You could also use a proxy application such as PHP Proxy
(
www.phpproxy.com).
Since many browsers can automatically decompress gzip-compressed
content, you wouldn't need to worry about decompressing it yourself. If
you still wanted to do this however, you could use a shell command.
Some code to do that:
<?
// Sample usage:
//
// zcatUrl('http://site/file.html.gz')
//
// That will decompress the remote URL and stream content
// to the browser.
function zcatUrl($url)
{
$errors = tempnam('/tmp', 'zcatUrl-');
$cmd = 'wget -O - ' . escapeshellarg($url) .
' 2' . escapeshellarg($errors) . ' | zcat';
passthru($cmd, $exitCode);
if ($exitCode != 0) {
$msg = "Command \"$cmd\" failed with exit code $exitCode";
$err = false;
if (is_file($errors)) {
$err = file_get_contents($errors) or
trigger_error("Failed to read file $errors.");
}
$msg .= $err !== false ? ": $err" : '.';
trigger_error($msg);
}
if (is_file($errors)) {
unlink($errors) or
trigger_error("Failed to delete file $errors");
}
}
?>
* Tong * wrote:
Hi,
I'm wondering if you can show me an example php page that allows me to
retrieve and display 3rd party pages. I.e.,
when my php script is called as http://site/path/getit.php?file_key
it can retrieve from http://3rd.party/path2/name-with-file_key.htm
and display the result back to the browser.
I don't know php, and start to learning it. So I hope you can give me a full
php page, not a segment. I don't think it'd be too long though. Luckily, I'm
a programmer, so you don't need to comment it much, unless it is too
convoluted.
Further, if you can throw in handling of gzipped files, that'd be super.
If you have Firefox, it can automagically gunzipped gzipped files, like
http://www.gnu.org/software/bash/manual/bashref.html.gz
So I hope the script http://site/path/getit.php?bashref
can display the content of
http://www.gnu.org/software/bash/manual/bashref.html.gz
thanks
--
Tong (remove underscore(s) to reply)
http://xpt.sourceforge.net/
--
Posted via a free Usenet account from http://www.teranews.com