使用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 相关文章推荐
phpMyAdmin下载、安装和使用入门教程
May 31 PHP
php实现的简单压缩英文字符串的代码
Apr 24 PHP
在PHP中使用模板的方法
May 24 PHP
PHP 魔术函数使用说明
May 14 PHP
PHP删除数组中特定元素的两种方法
Jul 02 PHP
学习php过程中的一些注意点的总结
Oct 25 PHP
Yii数据模型中rules类验证器用法分析
Jul 15 PHP
PHP图像识别技术原理与实现
Oct 27 PHP
PHP设计模式之工厂方法设计模式实例分析
Apr 25 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 PHP
ThinkPHP 5.x远程命令执行漏洞复现
Sep 23 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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抓即时股票信息
2006/10/09 PHP
php实现的mongodb操作类
2015/05/28 PHP
javascript 解析url的search方法
2010/02/09 Javascript
11款新鲜的jQuery插件[附所有demo下载]
2011/01/24 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
轻松掌握JavaScript装饰者模式
2016/08/27 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
JavaScript 严格模式(use strict)用法实例分析
2020/03/04 Javascript
python练习程序批量修改文件名
2014/01/16 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
使用OpenCV实现仿射变换—平移功能
2019/08/29 Python
Tensorflow: 从checkpoint文件中读取tensor方式
2020/02/10 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
给民警的表扬信
2014/01/08 职场文书
翻译学院毕业生自荐书
2014/02/02 职场文书
2014年干部作风建设总结
2014/10/23 职场文书
2015年化验员工作总结
2015/04/10 职场文书
龙猫观后感
2015/06/09 职场文书
python引入其他文件夹下的py文件具体方法
2021/05/23 Python
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB
Java存储没有重复元素的数组
2022/04/29 Java/Android