如何使用PHP获取网络上文件

  •   2009-08-01/08:12
  • <!-- generateindex.php -->
    <?php
    //设置我们将要使用的文件
    $srcurl = "http://localhost/index.php";
    $tempfilename = "tempindex.html";
    $targetfilename = "index.html";
    ?>
    <HTML>
    <HEAD>
    <TITLE>
    Generating <?php echo("$targetfilename"); ?>
    </TITLE>
    </HEAD>
    <BODY>
    <P>Generating <?php echo("$targetfilename"); ?>...</P>
    <?php
    //首先删除上次操作可能遗留下来的临时文件。
    //这个过程可能会提示错误,所以我们使用@以防止报错。
    @unlink($tempfilename);
    //通过一个URL的请求装入动态版本。
    //在我们接收到相关内容之前,Web服务器会对PHP进行处理
    //(因为本质上我们是在模拟一个Web浏览器),
    //所以我们将获得的是一个静态的HTML页面。
    //'r'指出我们只要求对这个“文件”进行读操作。
    $dynpage = fopen($srcurl, 'r');
    //处理错误
    if (!$dynpage) {
    echo("<P>Unable to load $srcurl. Static page ".
    "update aborted!</P>");
    exit();
    }
    //将这个URL的内容读入到一个PHP变量中。
    //指定我们将读取1MB的数据(超过这个数据量一般是意味着出错了)。
    $htmldata = fread($dynpage, 1024*1024);
    //当我们完成工作后,关闭到源“文件”的连接。
    fclose($dynpage);
    //打开临时文件(同时在这个过程中建立)以用来写入(注意'w'的用法).
    $tempfile = fopen($tempfilename, 'w');
    //处理错误
    if (!$tempfile) {
    echo("<P>Unable to open temporary file ".
    "($tempfilename) for writing. Static page ".
    "update aborted!</P>");
    exit();
    }
    //将静态页面的数据写入到临时文件中
    fwrite($tempfile, $htmldata);
    //完成写入后,关闭临时文件。
    fclose($tempfile);
    //如果到了这里,我们应该已经成功地写好了一个临时文件,
    //现在我们可以用它来覆盖原来的静态页面了。
    $ok = copy($tempfilename, $targetfilename);
    //最后删除这个临时文件。
    unlink($tempfilename);
    ?>
    <P>Static page successfully updated!</P>
    </BODY>
    </HTML>


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多