不一定要fseek(),只是fseek()效率肯定要高些。
创新互联建站2013年开创至今,先为镇江等服务建站,镇江等地企业,进行企业商务咨询服务。为镇江企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
不用fseek()就很简单了,给你讲讲思路吧(只适合小文件)
1、用file()把文件按行读成数组
2、你对应要插入行,就是这个数组的下标。你把内容加入到数组中的对应位置。
3、将数组用implode()转换成字符串,用fwrite()写入文件中
使用form表单post数据到PHP,然后用file_put_contents($fileName, $data)写入文件,$fileName是文件名,$data是要写入的数据
新建一个a.php文件,将下面的复制进去访问一下,填写后点击提交,会生成一个a.txt的文件,里面是你填写的内容
可能会有一个notice的报错,不必理会
?php
$data = $_POST['text'];
$fileName = 'a.txt';
file_put_contents($fileName, $data);
?
!doctype html
html
head
meta charset="utf-8"
titletest/title
/head
body
form action="./a.php" method="post"
textarea name="text" id="" cols="30" rows="10"/textarea
input type="submit" value="提交"
/form
/body
/html
?php
$arr = array('aa', 'bb', 'cc');
$str = implode("\r\n", $arr);
file_put_contents("A.txt", $str);
?
使用file_put_contents和file_get_contents来写入读取文件,然后filemtime和filesize()获取时间和大小
//记录返回值
$write_data_a = [
'html_url' = $getUrl,
'ip' = $this-get_real_ip(),
'time' = date("Y-m-d H:i:s",time()),
'res' = $response
];
//转化为JSON
$write_data_a = json_encode($write_data_a) . '||' . "\n";
$date = date("Y-m-d", time());
//项目路径目录,判断是否存在,不存在则创建
$lujing = "./360_mobile_res_sd";
if(!is_dir($lujing)){
mkdir(iconv("UTF-8", "GBK", $lujing),0777,true);
}
//文件,判断是否存在,不存在则创建
$TxtFileName = "./360_mobile_res_sd/" . $date . "_2.txt";
//以读写方式打写指定文件,如果文件不存则创建
if(file_exists($TxtFileName))
{
//存在,追加写入内容
file_put_contents($TxtFileName, $write_data_a, FILE_APPEND);
}
else
{
//不存在,创建并写入
if( ($TxtRes=fopen ($TxtFileName,"w+")) === FALSE){
exit();
}
if(!fwrite ($TxtRes,$write_data_a)){ //将信息写入文件
fclose($TxtRes);
exit();
}
fclose ($TxtRes); //关闭指针
}