<?php
/**
* 大文本数据写入
* @param string $filePath 文件路径
* @param string $str 待写入数据
* @param string $wrap 换行符
* @return boolean
* @author 李小刚 858864436@qq.com
*/
function fileWrite($filePath, $str, $wrap = "\r\n" )
{
if( empty($filePath)) return FALSE;
if(! is_dir(dirname($filePath))) createDir($filePath); //判断文件夹是否存在
if(! $handle = @fopen($filePath, 'a')) die (" $filePath 文件打开失败"); //追加只写模式
if(fwrite($handle, $str . $wrap) === FALSE) die (" $filePath 文件不可写 "); //文件写入
fclose($handle);
return TRUE;
}
/**
* 递归实现循环创建文件夹
* @param string $path 文件夹路径
* @param string $mode 文件夹权限
* @return boolean
* @author 李小刚 858864436@qq.com
*/
function createDir($path, $mode = '0777' )
{
if( empty($path)) return FALSE;
$path = dirname($path); //获取该路径的文件夹路径
if(! file_exists($path))
{
createDir($path); //递归调用
mkdir($path, $mode); //创建文件并设置权限
}
return TRUE;
}
/**********************测试数据*****************************/
header("Content-type:text/html; charset=utf-8");
$filePath = "d:/test/t/data/log.txt";
$str = 'log日志写入';
if(fileWrite($filePath, $str)) echo '写入成功' ;
else echo '写入失败';
/***********************************************************/
?>