21,887
社区成员
发帖
与我相关
我的任务
分享
//data 为提交表单数据,数组格式
$data = $_POST["data"];
$data = filter( $data ); //转换data 数据
// 剩下的事件,插入数据库,生成静态贴之类。。。
//转换处理
function filter( $data )
{
if( sizeof($data ))
{
foreach ($data as $key => $val):
if(preg_match_all("/<img\s+src=\"data:image\/png;base64,([^\"]+)\"/iU" , $val ,$match))
{
if(sizeof($match[1]))
{
foreach ($match[1] as $key2 => $val2):
list($newFilePath, $newFileName) = create_png_name();
file_put_contents($newFilePath , base64_decode($val2) );
$val = str_replace("<img src=\"data:image/png;base64,$val2\"" ,"<img src = '$newFileName'" , $val );
// echo $val;
endforeach;
}
$data[$key] = $val;
}
endforeach;
}
return $data;
}
function create_png_name()
{
$fileName = "/upload/attached/".date("Y-m-d")."/".date("ymdhis").rand(1000,9999).".jpg";
$file = $_SERVER["DOCUMENT_ROOT"] . $fileName ;
$dir = pathinfo( $file , PATHINFO_DIRNAME );
if( !is_dir($dir )) { mkdir( $dir , 0777 , 1);}
return array($file , $fileName);
}