$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)//关闭指针
}
PHP有两种方法读写文件,方法一、file、file_get_contents、file_put_contents三个函数整体读写文本,适合文本文件不太大的情况。两个函数的的典型应用是:
$text=file_get_contents('a.txt')//把文本文件的所有内容取到字符串变量$text里面
$arr=file('a.txt')//把文本文件的所有内容,取到数组$arr里面,$arr[0]就是第一行,以此类推
$arr[1]='abc'//或者通过其它途径修改变量值
$text=implode($arr)//把数组连接为字符串
file_put_contents('a.txt', $text)//把字符串变量的内容写入到文本文件里面。
方法二、使用fopen、fgets、fputs、fclose函数读写文件,可以应付特大文件的修改。文件的修改一般方法是新建立一个文件,把源文件全部扫描一遍,遇到需要的部分进行处理,最后删除源文件,更名新文件。例如下面的代码把a.txt里面的abc修改为def:
$fp1=fopen('a.txt','r')$fp2=fopen('a.tmp','w')
while(!feof($fp1)){
$line=fgets($fp1)
$line=str_replace('abc','def',$line)
fputs($fp2,$line)
}
flcose($fp1)
fclose($fp2)
unlike('a.txt')
rename('a.tmp', 'a.txt')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)