使用PHP获取网络文件的实现代码


Posted in PHP onJanuary 01, 2010
<?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>
PHP 相关文章推荐
PHP的加密方式及原理
Jun 14 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
PHP goto语句简介和使用实例
Mar 11 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
May 04 PHP
PHP异常处理Exception类
Dec 11 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
Apr 11 PHP
ThinkPHP实现登录退出功能
Jun 29 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
Jul 13 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 PHP
PHP获取学生成绩的方法
Nov 17 PHP
php中计算时间差的几种方法
Dec 31 #PHP
php 操作excel文件的方法小结
Dec 31 #PHP
PHP编程过程中需要了解的this,self,parent的区别
Dec 30 #PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 #PHP
PHP类的使用 实例代码讲解
Dec 28 #PHP
php 多线程上下文中安全写文件实现代码
Dec 28 #PHP
PHP 获取目录下的图片并随机显示的代码
Dec 28 #PHP
You might like
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
php 的反射详解及示例代码
2016/08/25 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
Javascript使用post方法提交数据实例
2015/08/03 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
2018/08/24 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
2019/05/01 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
vue微信分享插件使用方法详解
2020/02/18 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
TensorFlow如何实现反向传播
2018/02/06 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
2018/09/17 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
Python collections模块的使用方法
2020/10/09 Python
WoolOvers爱尔兰:羊绒、羊毛和棉针织品
2017/01/04 全球购物
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
体育教育毕业生自荐信
2013/11/21 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书