如何使用PHP获取网络上文件
author:一佰互联 2019-05-01   click:184
<!-- 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>