如何使用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版(1)
Oct 09 PHP
Smarty结合Ajax实现无刷新留言本实例
Jan 02 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
Oct 03 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
Aug 01 PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 PHP
php使用curl模拟登录后采集页面的例子
Nov 04 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
Nov 05 PHP
深入理解PHP中的Streams工具
Jul 03 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
Yii实现简单分页的方法
Apr 29 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 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
详细介绍:Apache+PHP+MySQL配置攻略
2006/09/05 PHP
自己前几天写的无限分类类
2007/02/14 PHP
谈谈PHP的输入输出流
2007/02/14 PHP
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
PHP中常用的魔术方法
2017/04/28 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
jQuery find和children方法使用
2011/01/31 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
2015/03/25 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python实现的希尔排序算法实例
2015/07/01 Python
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
英国复古服装购物网站:Collectif
2019/10/30 全球购物
基层党组织公开承诺书
2014/03/28 职场文书
调解书格式范本
2015/05/20 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书