使用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
dedecms模板标签代码官方参考
Mar 17 PHP
PHP 面向对象实现代码
Nov 11 PHP
php设计模式 Composite (组合模式)
Jun 26 PHP
php中禁止单个IP与ip段访问的代码小结
Jul 04 PHP
PHP四舍五入精确小数位及取整
Jan 14 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
php实现的简单检验登陆类
Jun 18 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
PHP简单的MVC框架实现方法
Dec 01 PHP
Laravel中Trait的用法实例详解
Mar 16 PHP
PHP判断是否是微信打开还是浏览器打开的方法
Feb 27 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/10/26 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
2017/06/09 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
jquery实现倒计时代码分享
2014/06/13 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
JavaScript鼠标特效大全
2016/09/13 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
jQuery zTree如何改变指定节点文本样式
2020/10/16 jQuery
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
Selenium的使用详解
2018/10/19 Python
对pytorch网络层结构的数组化详解
2018/12/08 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
python 将Excel转Word的示例
2021/03/02 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
Douglas意大利官网:购买香水和化妆品
2020/05/27 全球购物
final, finally, finalize的区别
2012/03/01 面试题
中文师范生自荐信
2014/01/30 职场文书
法人授权委托书
2014/04/03 职场文书
2014国庆节主题活动方案:快乐的国庆节
2014/09/16 职场文书
写给老婆的保证书
2015/02/27 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
怎么用Python识别手势数字
2021/06/07 Python
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技
Python代码实现双链表
2022/05/25 Python
JavaScript架构搭建前端监控如何采集异常数据
2022/06/25 Javascript