PHP 中如何在同一个文件中写入而不覆盖以前写的内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 中如何在同一个文件中写入而不覆盖以前写的内容相关的知识,希望对你有一定的参考价值。
以a方式打开文件可以在文件的末尾写入内容,例如下面的代码在文件的a.txt的末尾添加123:
<?php$fp=fopem("a.txt","a");
fputs($fp,"123");
fclose($fp);
?>
其它打开方式的说明:
\'r\' 只读方式打开,将文件指针指向文件头。
\'r+\' 读写方式打开,将文件指针指向文件头。
\'w\' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
\'w+\' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
\'a\' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
\'a+\' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
\'x\' 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
\'x+\' 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
参考技术A <?php$fp=fopen("a.txt","a");
fputs($fp,"123");
fclose($fp);
?>
在本机反应中写入/编辑/覆盖一个json文件
【中文标题】在本机反应中写入/编辑/覆盖一个json文件【英文标题】:write/edit/overwrite a json file in react native 【发布时间】:2016-10-06 22:19:02 【问题描述】:我知道如何通过导入来读取 json 文件
import file from './config/data.json';
console.log(file);
。
但是有没有一种简单的方法来编写或编辑它。
【问题讨论】:
【参考方案1】:如果你绝对想读/写文件,你可以使用react-native-fs。
如果您想保留应用程序特定的设置,我建议您使用AsyncStorage。
【讨论】:
【参考方案2】:使用 AsyncStorage 保存本地设置:
以下是在你的代码中设置你的设置(这个例子是针对一些Switch的
async setSettings()
try
var obj = ;
var settings = await AsyncStorage.getItem('settings');
settings = JSON.parse(result);
Object.assign(obj, settings);
this.setState(obj);
catch(e)
finally
以下是在你的代码中更改设置
switchChanged(field, value)
var obj = ;
obj[field] = value;
AsyncStorage.getItem('settings').then(function(strResult)
var result = JSON.parse(strResult) || ;
Object.assign(result, obj);
AsyncStorage.setItem('settings', JSON.stringify(result));
);
this.setState(obj);
最后是渲染方法的调用
<Switch
onValueChange=(value) => this.switchChanged('reminders', value)
value=this.state.reminders />
希望对你有帮助:)
【讨论】:
以上是关于PHP 中如何在同一个文件中写入而不覆盖以前写的内容的主要内容,如果未能解决你的问题,请参考以下文章