如何使用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
php你的验证码安全码?
Jan 02 PHP
PHP 编程的 5个良好习惯
Feb 20 PHP
PHPMailer 中文使用说明小结
Jan 22 PHP
用php的ob_start来生成静态页面的方法分析
Mar 09 PHP
PHP获取用户的浏览器与操作系统信息的代码
Sep 04 PHP
PHP 类相关函数的使用详解
May 10 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
May 13 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
Dec 17 PHP
微信支付的开发流程详解
Sep 13 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
PHP高并发和大流量解决方案整理
Dec 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
PHP个人网站架设连环讲(四)
2006/10/09 PHP
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
初学PHP的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
深入HTTP响应状态码速查表的详解
2013/06/07 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
codeigniter数据库操作函数汇总
2014/06/12 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
2014/09/06 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
php bootstrap实现简单登录
2016/03/08 PHP
PHP的Yii框架中过滤器相关的使用总结
2016/03/29 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
jQuery过滤选择器用法分析
2015/02/10 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
python目录与文件名操作例子
2016/08/28 Python
kali中python版本的切换方法
2019/07/11 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
2014/11/09 面试题
物理研修随笔感言
2014/02/14 职场文书
公司门卫工作职责
2014/06/28 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
新党员入党决心书
2015/09/22 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
Python使用pyecharts控件绘制图表
2022/06/05 Python