如何使用PHP获取网络上文件


Posted in PHP onOctober 09, 2006

<!-- generateindex.php -->
<?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
phpwind中的数据库操作类
Jan 02 PHP
MySql 按时间段查询数据方法(实例说明)
Nov 02 PHP
php面向对象全攻略 (四)构造方法与析构方法
Sep 30 PHP
php 各种应用乱码问题的解决方法
May 09 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
php读取富文本的时p标签会出现红线是怎么回事
May 13 PHP
PHP开发框架Laravel数据库操作方法总结
Sep 03 PHP
php获取当月最后一天函数分享
Feb 02 PHP
php获取twitter最新消息的方法
Apr 14 PHP
学习php设计模式 php实现建造者模式
Dec 07 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
用PHP动态创建Flash动画
Oct 09 #PHP
一个odbc连mssql分页的类
Oct 09 #PHP
拼音码表的生成
Oct 09 #PHP
用PHP和MySQL保存和输出图片
Oct 09 #PHP
PHP生成带有雪花背景的验证码
Oct 09 #PHP
一个可查询所有表的“通用”查询分页类
Oct 09 #PHP
Get或Post提交值的非法数据处理
Oct 09 #PHP
You might like
浅谈PDO的rowCount函数
2015/06/18 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
javascript &amp;&amp;和||运算法的另类使用技巧
2009/11/28 Javascript
javascript new后的constructor属性
2010/08/05 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
2015/11/20 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
简述vue状态管理模式之vuex
2018/08/29 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
js计时事件实现圆形时钟
2020/03/25 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
Python科学计算包numpy用法实例详解
2018/02/08 Python
python format 格式化输出方法
2018/07/16 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
Python openpyxl模块原理及用法解析
2020/01/19 Python
印度领先的在线时尚商店:Koovs
2016/08/28 全球购物
电子专业推荐信范文
2013/11/18 职场文书
公司总经理任命书
2014/06/05 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
护士业务学习心得体会
2016/01/25 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
JS数组的常用方法整理
2021/03/31 Javascript
python unittest单元测试的步骤分析
2021/08/02 Python
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL