PHP file_get_contents与file_put_contents
PHP file_get_contents与file_put_contents
1、file_get_contents — 将整个文件读入一个字符串
1)、语法:string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )
Note:如果要打开有特殊字符的 URL (比如说有空格),就需要使用 urlencode() 进行 URL 编码。
2)、参数说明:
参数 说明
filename 要读取的文件的名称。
use_include_path 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。
context 可选。规定文件句柄的环境。(若使用 null,则忽略)
offset 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。
maxlen 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。
3)、代码
(1)、输出url内容
$home_content = file_get_contents('http://weather.123.duba.net/static/weather_info/101121301.html');
echo $home_content;
(2)、输出文件内容
$file = file_get_contents(APP_PATH.'/data/css1.txt', true);
$file1 = file_get_contents(APP_PATH.'/data/css1.txt', FILE_USE_INCLUDE_PATH);
(3)、截取文件内容
$file = file_get_contents(APP_PATH.'/data/css1.txt', NULL, NULL, 10, 14);
注意:文件中有中文时会出现乱码
(4)、模拟POST请求数据
//'http://localhost/test/wps';
public function wpsAction(){
$url = 'http://localhost/test/abcd';
$postData = [
'username'=>'你好',
'password'=>'123456'
];
$context = stream_context_create(
['http' => [
'method' => 'POST',
'header' => "Content-type: application/x-www-form-urlencoded",
'content' => http_build_query($postData),
'timeout' => 20
]
]
);
$data = file_get_contents($url, false, $context);
var_export($data);die;
}
public function abcdAction(){
$username = $_POST['username'];
$pwd = $_POST['password'];
echo $username.' '.$pwd;
die;
}
打印:
你好 123456
2、file_put_contents — 将一个字符串写入文件
1)、语法:int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
和依次调用 fopen(),fwrite() 以及 fclose() 功能一样。
2)、参数说明:
参数 说明
filename 要被写入数据的文件名。(路径+文件名)
data 要写入的数据。类型可以是 string,array 或者是 stream 资源
如果 data 指定为 stream 资源,这里 stream 中所保存的缓存数据将被写入到指定文件中,这种用法就相似于使用 stream_copy_to_stream() 函数。
参数 data 可以是数组(但不能为多维数组),这就相当于 file_put_contents($filename, join('', $array))。
flags flags 的值可以是 以下 flag 使用 OR (|) 运算符进行的组合。
Flag 描述
FILE_USE_INCLUDE_PATH 在 include 目录里搜索 filename。 更多信息可参见 include_path。
FILE_APPEND 如果文件 filename 已经存在,追加数据而不是覆盖。
LOCK_EX 在写入时获得一个独占锁。
context 一个 context 资源。
3)、返回:
该函数将返回写入到文件内数据的字节数,失败时返回FALSE
4)、使用:
public function addlog(){
$filePath = APP_PATH."/data/test/";
$this->createDirectory($filePath); //递归创建目录
$fileName = $filePath."abc.txt";
//file_put_contents($fileName, date('Ymd H:i:s')."\r\nSUCCESS\r\n", FILE_APPEND | LOCK_EX);
file_put_contents($fileName, date('Ymd H:i:s').PHP_EOL."SUCCESS".PHP_EOL, FILE_APPEND OR LOCK_EX);
}
//递归创建目录,并给最大权限 777
public function createDirectory( $dir ){
return is_dir ( $dir ) or $this->createDirectory(dirname( $dir )) and mkdir ( $dir , 0777);
}
PHP file_get_contents与file_put_contents相关推荐
- 【php】PHP中file_get_contents()与file_put_contents()函数细节详解
file_get_contents函数 一般的也就是使用file_get_contents($url),但是关于这个函数还有很多没有注意到的地方. 先看关于手册: file_get_contents( ...
- php file_put_contents 换行追加,PHP中file_put_contents追加和换行的实现方法
PHP中file_put_contents追加和换行的实现方法 在PHP的一些应用中需要写日志或者记录一些信息,这样的话.可以使用fopen(),fwrite()以及 fclose()这些进行操作.也 ...
- php模板引擎如何实现,php模板引擎技术简单实现
用了smarty,tp过后,也想了解了解其模板技术是怎么实现,于是写一个简单的模板类,大致就是读取模板文件->替换模板文件的内容->保存或者静态化 tpl.class.php主要解析 as ...
- php选取远程文件到本地,PHP实现的一个保存远程文件到本地的函数分享
最近遇到了PHP远程图片本地话的问题,查了查手册发现file_get_contents()和file_put_contents()可以解决这个问题.思路很简单,将远程文件读入字符串中,然后按照规则写入 ...
- PHP函数stream_context_create()模拟POST/GET
有时候,我们需要在服务器端模拟 POST/GET 等请求,也就是在 PHP 程序中去实现模拟,改怎么做到呢?或者说,在 PHP 程序里,给你一个数组,如何将这个数组 POST/GET 到另外一个地址呢 ...
- 时间:2014年3月27日文件和目录操作函数
主要内容: 目录操作:打开.读取.关闭.创建.重命名.删除 文件操作:打开.读.写.关闭.重命名.删除 信息获取函数 filemtime() filesize() file_exists() is_ ...
- PHP 核心知识要点
2019独角兽企业重金招聘Python工程师标准>>> Php:脚本语言,网站建设,服务器端运行 PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的.面向对象的.解释 ...
- php微信jssdk下载图片,微信JSSDK上传多张图片回调方法以及服务器端处理下载媒体...
有时候我们会在微信有这样的需求.在一个上传控件里面上传多个图片.而在微信里面使用file上传有些手机会崩溃而且.服务器端压缩图片效果也没有微信压缩效果好.这个就要使用微信的jssdk了. 如下就是微信 ...
- QQ空间的“神奇”图片
昨天女友说遇到了一个奇怪的问题,就是在别人的QQ空间的转载上看到了自己的名字,头像,问我是怎么回事.晚饭后,闲来无事,想到那个问题,就让女友打开那个看到自己头像,名字的网页(因为本人几乎不上空间,所以 ...
- PHP查看PECL模块包含的函数
为什么80%的码农都做不了架构师?>>> http://php.net/manual/zh/function.get-extension-funcs.php 查看PECL扩展 ...
最新文章
- 《中国人工智能ABC人才发展报告》发布,算法和应用类人才短缺
- 开发者 AI 转型指南
- 计算机上没有找到服务was,win10系统搭建网站提示计算机“.”上没有找到wAs服务的步骤介绍...
- WPF Datagrid with some read-only rows - Stack Overflow
- git 文件全部标红_git冲突解决,代码冲突、合并冲突。【IDEA版本】
- animate.css动画抖动,Animate.css抖动效果每次都不工作
- 关于Rocchio算法和向量空间模型反馈
- edge浏览器设置默认浏览器
- “约见”面试官系列之常见面试题之第七十一篇之let和var和const区别(建议收藏)
- matlab 拼接矩阵,Matlab 不同行数矩阵拼接
- Getting Started with STM32 in Segger Embedded Studio
- 步步为营103-ZTree 二级联动
- EasyUi通过POI 实现导出xls表格功能
- linux reboot 实现流程
- 苹果电脑装Windows7系统U盘启动盘制作教程
- Spring Boot使用方法小札(3):应用启动后做一些事
- 配置微信小程序添加企业微信为好友的组件
- HTML + CSS 宝典 第二节 HTML 核心1
- Android 开源项目及库汇总(2)
- 威联通建php邮件服务器_求教:TS231P在用opkg安装php7-fpm并修改配置指向后又恢复了...
热门文章
- 中国农田生产潜力数据集
- 增强型植被指数EVI、ndvi数据、NPP数据、GPP数据、土地利用数据、植被类型数据、降雨量数据
- Mybatis 查询出来的数据数量正确,但是具体数据为null
- NYOJ954--N的阶乘的二进制表示最低位的1的位置
- 一元n次多项式--模拟--洛谷P1067
- c判断数组是否为空_剑指offer编程题 1.二维数组中的查找
- aerials标准测试图像_VIFB: 一个可见光与红外图像融合Benchmark
- linux mysql外网连接不成功的可能原因
- Nginx(2)之nginx作用简介
- Python--day46--mysql触发器