Retrieve and display 3rd party pages

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

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
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

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

So I hope the script http://site/path/getit.php?bashref

can display the content of


Tong (remove underscore(s) to reply)

Posted via a free Usenet account from

Re: Retrieve and display 3rd party pages


You could fetch a remote URL using PHP's URL wrappers. For example,
readfile can stream the contents of a remote URL:


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:


You could also use a proxy application such as PHP Proxy

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" : '.';

  if (is_file($errors)) {
    unlink($errors) or
      trigger_error("Failed to delete file $errors");


* Tong * wrote:
Quoted text here. Click to load it

Re: Retrieve and display 3rd party pages

On Sat, 28 Oct 2006 22:12:45 -0700, petersprc wrote:

Quoted text here. Click to load it

First of all, thanks a lot for this comprehensive reply. You've even
covered issues that I hadn't thought about. thanks!

Just for the archive, following your advice, and scripts found in
I hacked the following php script, which tested ok:

   header("Content-Type: text/html");
   header("Content-Encoding: x-gzip");


    readfile(' ');
    // use @ to hide 'nothing to flush' errors

    $content = ob_get_contents();

Tong (remove underscore(s) to reply)

Posted via a free Usenet account from

Site Timeline