如何使用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 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
PHP多线程抓取网页实现代码
Jul 22 PHP
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
May 02 PHP
解析curl提交GET,POST,Cookie的简单方法
Jun 29 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
php中mkdir()函数的权限问题分析
Sep 24 PHP
PHP编写daemon process 实例详解
Nov 13 PHP
PHP magento后台无法登录问题解决方法
Nov 24 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
Oct 16 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
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
PHP 登录完成后如何跳转上一访问页面
2014/01/14 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
php 读取文件夹下所有图片、文件的实例
2018/10/17 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/02/09 Javascript
分享10篇优秀的jQuery幻灯片制作教程及应用案例
2011/04/16 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
Vue.js 实现数据展示全部和收起功能
2018/09/05 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
[01:10]DOTA2次级职业联赛 - EP战队宣传片
2014/12/01 DOTA
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
python并发2之使用asyncio处理并发
2017/12/21 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
如何通过python检查文件是否被占用
2020/12/18 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
倩碧美国官网:Clinique美国
2016/07/20 全球购物
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
养成教育经验材料
2014/05/26 职场文书
人事任命书格式
2014/06/05 职场文书
2019年家电促销广告语集锦
2019/10/21 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL