使用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 中使用随机数的三个步骤
Oct 09 PHP
自动分页的不完整解决方案
Jan 12 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
基于PHP输出缓存(output_buffering)的深入理解
Jun 13 PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
PHP实现的连贯操作、链式操作实例
Jul 08 PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 PHP
php分页查询mysql结果的base64处理方法示例
May 18 PHP
浅谈PHP封装CURL
Mar 06 PHP
Yii2框架中一些折磨人的坑
Dec 15 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 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
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
PHP中“=&gt;
2019/03/01 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
JavaScript作用域链使用介绍
2013/08/29 Javascript
javascript中几个容易混淆的概念总结
2015/04/14 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
Vue实现购物车功能
2017/04/27 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
2019/08/07 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
python语言使用技巧分享
2016/05/31 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
Zooplus罗马尼亚:宠物食品和配件
2019/11/02 全球购物
AJAX的全称是什么
2012/11/06 面试题
厂办主管岗位职责范本
2014/02/28 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
校车司机安全责任书
2015/05/11 职场文书
师范生见习自我总结
2015/06/23 职场文书
导游词之泉州崇武古城
2019/12/20 职场文书
js实现自动锁屏功能
2021/06/02 Javascript
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL