如何使用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中的foreach问题
Jun 30 PHP
php调用MySQL存储过程的方法集合(推荐)
Jul 03 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
php处理json格式数据经典案例总结
May 19 PHP
PHP编写文件多服务器同步程序
Jul 02 PHP
PHP简单实现DES加密解密的方法
Jul 12 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
Sep 22 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
Dec 02 PHP
PHP接口并发测试的方法(推荐)
Dec 15 PHP
PHP __call()方法实现委托示例
May 20 PHP
PHP dirname简单使用代码实例
Nov 13 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
PHP.MVC的模板标签系统(二)
2006/09/05 PHP
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
2012/03/27 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
php中把美国时间转为北京时间的自定义函数分享
2014/07/28 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
2013/04/23 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
JavaScript中的this机制
2016/01/30 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
Python 变量类型及命名规则介绍
2013/06/08 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
基于django传递数据到后端的例子
2019/08/16 Python
python中round函数保留两位小数的方法
2020/12/04 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
环卫工人先进事迹材料
2014/06/02 职场文书
征兵宣传标语
2014/06/20 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
医院科室评语
2015/01/04 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
2015中秋祝酒词
2015/08/12 职场文书
2016教师校本培训心得体会
2016/01/08 职场文书