分享编程~
 
php数组、字符串写入php文件中

内容写入文件,可以是数组、字符串、对象、json数据等,使用场景可以是配置文件,和临时数据缓存池,优点就是不依赖数据库,直接用文件作为存储池,缺点是写入错误数据不能恢复,如果每次写入前备份文件,但是效率不高,因为需要读写文件,所以根据项目情况是否运用,具体方法如下示例。

基本原理就是将内容拼接成字符串后根据指定的格式写入文件

需要写入的文件 data.php:

<?php
$siteConfig = array(
	'ext' => array(
		'http_path' => '',
		'site_title' => '',
		'site_desc' => '',
	),
);
?>

调用示例demo.php

/**
 * 调用示例
 */
$arr = array(
    'http_path'=>'https://www.yj521.com',
    'site_title'=>'越加网',
    'site_desc'=>'分享编程'
);

$result = writeFile($arr);
if($result){
    echo '写入成功';
}else{
    echo '写入失败';
}

/**
 * php数组写入文件方法
 */
function writeFile($param){
    $path = './d.php';
    $file = @fopen($path,"r"); // 打开文件
    $fileTxt = @fread($file,filesize($path)); // 读取文件内容
    @fclose($file); // 关闭打开的文件
    $config = array('http_path','site_title','site_desc'); // 预定义文件数组键名
    foreach($config as $v){
        // 删除参数值里边的换行符
        $paramVal = str_replace(array("\r\n","\n","\r"),'',$param[$v]);
        // 根据表达式搜索替换字符串
        $pattern = "/'".$v."' => '.*?',/";
        $replacement = "'".$v."' => '".$paramVal."',";
        $fileTxt = preg_replace($pattern, $replacement, $fileTxt);
    }
    $fileTemp = @fopen($path, "w"); // 打开文件
    $result = @fwrite($fileTemp,$fileTxt); // 字符串写入文件
    @fclose($fileTemp); // 关闭打开的文件
    return $result ? true : false;
}

写入成功后的temp.php文件源码:

<?php
$siteConfig = array(
	'ext' => array(
		'http_path' => 'https://www.yj521.com',
		'site_title' => '越加网',
		'site_desc' => '分享编程',
	),
);
?>


上一篇:PHP日期时间戳互转日期时间差计算日周月年下一篇:php计算程序运行时间以及程序占用内存
赞(0) 踩(0)
赏金
微 信
赏金
支付宝
您说多少就多少,您的支持是我最大的动力