使用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 foreach 使用&amp;(与运算符)引用赋值要注意的问题
Feb 16 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
Dec 16 PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 PHP
php正则匹配html中带class的div并选取其中内容的方法
Jan 13 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
Mar 21 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
May 13 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
php json_encode与json_decode详解及实例
Dec 13 PHP
详谈php ip2long 出现负数的原因及解决方法
Apr 05 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时区转换转换函数
2014/01/07 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
2016/04/30 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
extjs 列表框(multiselect)的动态添加列表项的方法
2009/07/31 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
jquery获取css中的选择器(实例讲解)
2013/12/02 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
vue实现标签云效果的方法详解
2019/08/28 Javascript
[06:13]DOTA2进化论(修改版)
2013/10/08 DOTA
python访问系统环境变量的方法
2015/04/29 Python
python获取代理IP的实例分享
2018/05/07 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
python二进制文件的转译详解
2019/07/03 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
法国娇韵诗官方旗舰店:Clarins是来自法国的天然护肤品牌
2018/06/30 全球购物
一封普通求职者的求职信
2013/11/20 职场文书
初中校园之声广播稿
2014/01/15 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
车队安全员岗位职责
2015/02/15 职场文书
走进毛泽东观后感
2015/06/04 职场文书
初中毕业生感言
2015/07/31 职场文书
利用python Pandas实现批量拆分Excel与合并Excel
2021/05/23 Python
pandas提升计算效率的一些方法汇总
2021/05/30 Python
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis