使用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和ACCESS写聊天室(十)
Oct 09 PHP
php 获得汉字拼音首字母的函数
Aug 01 PHP
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
May 25 PHP
解析php中eclipse 用空格替换 tab键
Jun 24 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
Sep 26 PHP
19个超实用的PHP代码片段
Mar 14 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
Dec 19 PHP
PHP全局变量与超级全局变量区别分析
Apr 01 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
PHP实现浏览器中直接输出图片的方法示例
Mar 14 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
深入PHP运行环境配置的详解
2013/06/04 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
PHP实现无限级分类(不使用递归)
2015/10/22 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
JS命名空间的另一种实现
2013/08/09 Javascript
[原创]推荐10款最热门jQuery UI框架
2014/08/19 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
JS表格组件神器bootstrap table详解(强化版)
2016/05/26 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
利用Psyco提升Python运行速度
2014/12/24 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
ProForm英国站点:健身房和健身器材网上商店
2019/06/05 全球购物
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
党建工作先进材料
2014/05/02 职场文书
关于读书的演讲稿
2014/05/07 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
建筑工地文明标语
2014/10/09 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书