PHP实现将数据保存为TXT文件(PHP实现大文件拆分)
PHP有点强大的功能,它可以处理各类数据。今天学做网站论坛介绍一下PHP怎么将一组数据保存为TXT文件,这种在有些应用中非常实用。
PHP数据保存为TXT文件,可以直接使用以下的代码:
<?php
//数据数组
//代码来源:学做网站论坛:https://www.xuewangzhan.net/baike/php-21359.html
$urlarr = array('数据1','数据2','数据3');
//转化为JSON
$write_data_a = json_encode($write_data_a);
$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/url_1.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); //关闭指针
}
?>
代码详解:
先将一组数据保存到一个数组里,然后将数组转换成JSON数据,再将这些数据保存到/360_mobile_res_sd/url_1.txt里,这个文件会自动生成的,如果里面已经有数据了,就将新数据添加进去。
高级应用
如果想将一个大的数据保存为多个小的TXT文件,就可以在以上代码里加一个循环判断。代码如下:
<?php
//数据数组
$urlarr = array('数据1','数据2','数据3','数据4','数据5');
$write_data_a=array();//空数组
for($i=0;$i<count($urlarr);$i++){
array_push($write_data_a,$urlarr[$i]);
if($i % 4==0){
//转化为JSON
$write_data_a = json_encode($write_data_a);
$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/url_".$i.".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); //关闭指针
}
$write_data_a=array();
}
}
?>
这样就可以实现将数组里每4行数据保存为一个txt文件,实现了大文件切分成小文件的效果。