使用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 相关文章推荐
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
PHP 第二节 数据类型之字符串类型
Apr 28 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 PHP
浅析PHP页面局部刷新功能的实现小结
Jun 21 PHP
PHP时间戳 strtotime()使用方法和技巧
Oct 29 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
Sep 22 PHP
跟我学Laravel之视图 &amp; Response
Oct 15 PHP
php session 写入数据库
Feb 13 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
Oct 23 PHP
聊聊 PHP 8 新特性 Attributes
Aug 19 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读取csv文件并输出的方法
2015/03/14 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
PHP数组array类常见操作示例
2020/05/15 PHP
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
webpack4实现不同的导出类型
2019/04/09 Javascript
原生js实现随机点餐效果
2019/12/10 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
JS删除对象中某一属性案例详解
2020/09/08 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
2015/05/21 Python
Python基于PycURL自动处理cookie的方法
2015/07/25 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
windows下python和pip安装教程
2018/05/25 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
python进阶之自定义可迭代的类
2019/08/20 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
The Hut德国站点:时装、家居用品、美容等
2016/09/23 全球购物
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
过滤器的用法
2013/10/08 面试题
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
践行党的群众路线心得体会
2014/11/05 职场文书
2015年消防工作总结
2015/04/24 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript