file_put_contents,file_put_contents追加
php函数file_put_contents要在特定的位置增加内容怎么办啊。更新特定的内容呢。怎么更新啊,回答,必采纳
file_put_contents 只能追加吧,
追加方法:
file_put_contents("test.txt", "This is another something.", FILE_APPEND);
可以看看 fseek,可以做指针定位
fseek(重定位流上的文件指针)
定义函数:int fseek(FILE *stream, long offset, int
fromwhere);
函数说明:第一个参数stream为文件指针, 第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移 第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR(当前位置)、
SEEK_END(文件结尾)或
SEEK_SET(文件开头), 其中SEEK_SET,SEEK_CUR和SEEK_END的值依次为0,1和2。
简言之:
fseek(fp,100L,0);把fp指针移动到离文件开头100字节处;
fseek(fp,100L,1);把fp指针移动到离文件当前位置100字节处;
fseek(fp,100L,2);把fp指针退回到离文件结尾100字节处。
返回值: 成功,返回0,否则返回其他值
php使用file_put_contents的问题
不建议使用\r\n哦,因为:
在windows中\r\n是换行
在Mac中\r是换行
在Liunx中\n是换行
但是PHP提供了一个常量来匹配不同的操作系统,即:
PHP_EOL
关于php中file_put_contents函数
这个函数 其实还有个 可选参数的
file_put_contents(file,data,mode)
mode :
可选。规定如何打开/写入文件。可能的值:
FILE_USE_INCLUDE_PATH
FILE_APPEND
LOCK_EX
默认是 FILE_USE_INCLUDE_PATH 他会检查你的文件路径 结果 就是 123
如果你选择 FILE_APPEND 那么就是 123123123
LOCK_EX 顾名思义就是锁定文件
php5.6的file_put_contents问题求解
你的代码确实不怎么规范;
有地方不明白你要干
?php
$txt = intval(file_get_contents('cly.txt'));
file_put_contents('cly.txt', strval($txt + 1));
echo $txt;
?
第一句话 intval是强制转换成整数。
file_get_contents返回类型是bool|string
结果就是 文件不存 返回的是false 而在一般的语言中都是false 本身就是0. 如果存在肯定返回的是里面的字符串。而任何的字符串只要不是数字开头 intval都会返回0。
而php 中 Warning 不会影响程序继续运行。
所以结果就是第一句话返回的文件不存在就是0,
至于你说的404描述错误 。这个不可能产生。
还有代码真的不严谨。
应该这样
$filename='cly.txt';
if(!file_exists($filename)){//文件不存在的时候
file_put_contents($filename, '');//生成文件
}
$txt = intval(file_get_contents($filename)) ;
file_put_contents($filename, strval($txt + 1));
echo $txt;
这样就不会出现你说的问题了
php执行file_put_contents后生成的文件如何自动下载到本地?
file_put_contents只能生成文件在服务器上,无法读写客户端的文件系统,这是WEB的协议决定了的。
要想把file_put_contents生成在服务器上的文件发给浏览器用户,只有用下载的办法:文件生成到WEB可以访问的路径,然后使用a href建立链接让用户下载,示例代码:
file_put_contents('a.txt', $str);
echo 'a href=a.txt下载文件/a';
file_put_contents 为什么 是乱码
有以下的可能原因:
1.获取的内容本身就是乱码。
2.获取的内容字符格式与你 file_put_contents 保存的文本格式不一致,比如获取的是utf8格式,而保存的是ansi格式。
3.其他原因导致的:如内存、硬盘有损坏等导致的意外。