Please enable java script to visit.
NOTEBOOK
HOMEPHP / MySQLJS / HTMLWXappPythonC++Blender其他
php 自动读取本地文件、自动字符串转数组、自动加密解密 - NOTEBOOK
php 自动读取本地文件、自动字符串转数组、自动加密解密
PHP / MySQL
Posted on 2023-01-03
摘要 : 有设置$data时则写入文件,反之就是读取文件。如果读取文件时有标示“A”,则将字符串转为数组,如果有标示“E”,则自动使用密码本解密。
auto_file($file,$data=false,$encrypt='0')
function auto_file($file,$data=false,$encrypt='0'){
if($data===false){ // 只读
if(!file_exists($file)){ return null;}
$data = file_get_contents($file); // 读取
if(!$data){ return null;}
$data = explode('::::',$data,2);
$result = $data[1]; unset($data[1]);
if(strstr($data[0],'E')){
$result = destr4($result); // 解密 PHP 快速加密 base64 转码 + 字符交换密码本
}
if(strstr($data[0],'A')){
@eval( "\$result={$result};" ); // 恢复成数组
}
return $result;
}else{ // 有值或空值。写入
if(is_array($data)){
$data = var_export($data,true);
$data = del_extra_strings_form_VarExport($data); // 去掉多余的空行空格
$mark.= 'A';
}
if($encrypt){
$data = enstr4($data); // 加密 PHP 快速加密 base64 转码 + 字符交换密码本
$mark.= 'E';
}
file_put_contents($file, $mark.'::::'.$data);
return 'done';
}
}