FoundPHP BASE64文件上传
FoundPHP BASE64文件上传
在很多时候,为了方便使用者预览上传文件内容,会使用base64文件上传,那么base64文件如何接收呢?
1.使用表单提交base64文件
<!-- 建立表单 -->
<form class="form-horizontal" role="form" id="myForm" action="upload.php" enctype="multipart/form-data" method="post">
<!-- 上传文件 -->
<input type='file' value="data:image/png;base64,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" name="base_upload" />
</form>
2.PHP端接收base64文件
接收时要注意base64文件的data:参数,不同文件格式是不一样的,例如MP3的文件是data:audio/mp3;
,PNG图片文件是data:image/png;
//根据不同的文件拆分base64
$files = explode('base64,',$P['base_upload']);
$files_content = base64_decode($files[1]);//解码文件内容
//文件路径
$dirs = 'data/files/'.dates(time(),'ymd').'/';
if(!is_dir($dirs)){
$tpl->mk_dir($dirs);
}
//文件名
$filename = rand(1000,9999).'.jpg';
//写入文件
$tpl->writer($dirs.$filename,$files_content);
//将文件路径存入数据库