FoundPHP BASE64文件上传

FoundPHP BASE64文件上传

在很多时候,为了方便使用者预览上传文件内容,会使用base64文件上传,那么base64文件如何接收呢?

1.使用表单提交base64文件

  1. <!-- 建立表单 -->
  2. <form class="form-horizontal" role="form" id="myForm" action="upload.php" enctype="multipart/form-data" method="post">
  3. <!-- 上传文件 -->
  4. <input type='file' value="data:image/png;base64,/9j/4AAQSkZJRgABAQEAYABgAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTMK/9sAQwACAgICAgECAgICAwICAwMGBAMDAwMHBQUEBggHCQgIBwgICQoNCwkKDAoICAsPCwwNDg4PDgkLEBEQDhENDg4O/9sAQwECAwMDAwMHBAQHDgkICQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O/8AAEQgAMgAyAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A9Iooor+7D/F8KK3/AA34X1/xf4oj0bw3pkuq6k6lxFFgbVHVmYkBRyOSQOR619PeFv2SfEF55dx4v8QW2jQnlrWwT7RNj0LHCqfcbhXg5hnWV5X/AL1VUX23f3K7/Q+1yPhHiPiR3y3DSqRvbm2gn/ilaN12vfyPkKuS8T+J4dDszBAVm1KRfkTqIx/eb+g71+slp+zZ8JrLwncWE2k3F5NJEVbUbm+fz04+8u3CKR1+7j1yK/DTV2RvFOpGK9OpQi5cRXbDBnUMQr47ZGDiu/hLNcu4mxFVUVJKla91a9722b7PezPvM08N804ZdGrmk4SVS9lBtu6tdO6XdbX7eqSapqUs7yPf3Bd2LMfNIyTRVCiv2v2dPsifZ019lfcfUlKASQAMk9BSV9y/CnW/hD8LP2a9N8T+JtU0Q+KrqKW8faUnvlG4hIlC5dBhVB6AMTmvwHOc1/snDKrGm6kpOyiurs32dlp2PjeEuGf9aMxlhpV40KcI80py2SulZK6u23orrqaP7JPhX7H4B8Q+L7iLbNqFyLS1LDkRRcuR7F2wfeOuIv8A9sW3sfilFp1zYT2gN1sWwMYmMy4cCMKqb0kZxEoZnK5LMVAAQ/aXhHTH0j4c6VZz+WbxojPetF9x7iVjLMw9jI7kfWvFPGXhT9mjwD8Wf+FmeNbXw74f8WmX7VHcXl4wkllBz5qWoYh5MjO5Yy2RnOea/AaOZZXmec4mtmFCdV1NKap6tNaJejVtUm/LU/vrCcO5rkPD2X4PLcVGjCjrVc1ZT5vebv0tJvS6vonKy10f2nfHR8AfsV+M9Tgm8nU7+2/svTyDhvNuP3ZZfdYzI4/3K/CTtX2b+1t+0N4e+MN/4c8OeCHu5vC+kSyXM93cwGEXlww2IyRt8wVE34LAEmQ8DGT8ZV/T3hvkVfJchc8TBwq1pOTTVmktIprp1fzPxXxBzqjm+dqOHmp0qUeVNO6besmn9y+QUUUV+xH5MfUleJ/FfxDcMsHhbSSzXMm2a9aM42KDlFJ7ZI3fgPWu/wDE/ieHQ7MwQFZtSkX5E6iMf3m/oO9eGzzS3N7LczuZZ5W3SO3VjX5FiuGp8QZfLDVasqVKeknH4pR6xTfw32bs9LpK7uubw2zJ8K8Q0eIp4aFedC8qMal3BVfsVJRVnJU370Y3jeai22k4v9T/ANju6+I/xE/Z71nUfif4/wBWvPCek3KWOlW9vdCxOI498rSXMQSd1UPGB+8C8MCDgY+YPid4c+G3j749+PdS8L63p3hwpq89pYqdQgS1ljtYIFMx3sGczy+cFcNg4U85Jr5a/tbVf+EYOif2pef2KZvOOn/an+zGTAG/y87d2ABuxngelZ9TlfBE8qzKtjMNiXBSSjCKV0kraybfvydk5N6vW7dz9jzbjWOcYKnQxOGUmm5TekU276QjGKUIxvaMY6JWslY+j9J+Enw4t7a4m8S/FGxmXzkggTTrmFfnMvlMScyEgMQQdqqV+Ysq5YcR8SfDHw88NadoCeDfFUvia+vLVLm6PmKyQI65CkLGArg8bdxbrlV4LeT0V9th8szCnilXrYyU0vs8sYxellsvn5nxWIzHAVMM6NHCRg39q8nJa3e7+XkFFFFfUnzRf1SR5fEl+8jtI5uHyzHJPJqhRRWFD+DH0X5HPQ/gQ9F+QUUUVudAUUUUAFFFFAH/2Q==" name="base_upload" />
  5. </form>

2.PHP端接收base64文件

接收时要注意base64文件的data:参数,不同文件格式是不一样的,例如MP3的文件是data:audio/mp3;,PNG图片文件是data:image/png;

  1. //根据不同的文件拆分base64
  2. $files = explode('base64,',$P['base_upload']);
  3. $files_content = base64_decode($files[1]);//解码文件内容
  4. //文件路径
  5. $dirs = 'data/files/'.dates(time(),'ymd').'/';
  6. if(!is_dir($dirs)){
  7. $tpl->mk_dir($dirs);
  8. }
  9. //文件名
  10. $filename = rand(1000,9999).'.jpg';
  11. //写入文件
  12. $tpl->writer($dirs.$filename,$files_content);
  13. //将文件路径存入数据库

Ease Template 模板调试平台 [PHP Ver:7.3.32] (Power by FoundPHP.com) [清除缓存]
缓存 ID: 1 索引模式: True 缓存目录: data/FoundPHP_v407864A/cache/manual/ 模板目录: plugin/view/default/manual/
模板格式: htm 占用内存: 2.12 mb 运行时间: 0.0159秒 技术支持: ET.FoundPHP.com
打开模板文件: 3个
plugin/view/default/header.htm
修改: 2022-08-04 16:56 大小: 5.66KB
plugin/view/default/manual/default.htm
修改: 2024-12-20 10:04 大小: 5.9KB
plugin/view/default/footer.htm
修改: 2022-08-04 16:56 大小: 5.07KB
载入PHP文件数: 15
index.php  1.31KB
修改: 2024-09-03 14:37 运行时间:0.000
plugin/controller.php  47.2KB
修改: 2024-09-03 15:01 运行时间:0.000
data/config.php  10.01KB
修改: 2024-12-20 10:05 运行时间:0.000
plugin/class/template/ease_template.php  52.99KB
修改: 2021-10-02 12:06 运行时间:0.000
plugin/function/globals.php  6.05KB
修改: 2021-04-28 11:45 运行时间:0.000
plugin/class/foundphp/encrypt.php  5.63KB
修改: 2021-02-09 12:48 运行时间:0.000
plugin/class/foundphp/zip.php  2.6KB
修改: 2021-03-02 17:13 运行时间:0.000
plugin/class/image/resize.php  21.25KB
修改: 2022-10-28 16:55 运行时间:0.000
plugin/class/file/upload.php  17.22KB
修改: 2021-01-16 18:15 运行时间:0.000
plugin/class/database/dbo.php  31.88KB
修改: 2022-10-28 16:54 运行时间:0.001
plugin/class/database/mysqli.php  3.91KB
修改: 2022-10-28 16:54 运行时间:0.001
plugin/function/manual.php  5.77KB
修改: 2020-12-29 18:31 运行时间:0.001
plugin/model/manual/default.php  3.37KB
修改: 2024-12-20 10:03 运行时间:0.001
data/FoundPHP_v407864A/cache/FoundPHP_DB_3c78b35502b2693fefdfc51cba3a53a5.php  54.36KB
修改: 2025-04-08 09:27 运行时间:0.001
data/FoundPHP_v407864A/cache/manual/1_manual_default_.zh.php  17.54KB
修改: 2025-04-08 09:27 运行时间:0.001

FoundPHP DataBase Object 调试平台 (Power by FoundPHP.com)
数据库: MYSQL 5.7.44-log 技术支持: 127.0.0.1 数据库: DB.FoundPHP.com
库名: foundphp_com 帐号: foundphp_com 编码: utf8mb4
数据查询(执行语句:5条)
SELECT cate_id,language,cate_name FROM n_category WHERE types='sys_language'  
运行时间: 2025-04-08 09:31:08 0.002
SELECT a.*,b.subject,b.content,b.md_content,c.reader FROM n_articles a LEFT JOIN n_article_data b ON b.aid=a.aid LEFT JOIN n_category c ON c.cate_id=a.cate_id WHERE a.cate_id='1834' AND a.cases='phpcourse' AND b.lang="zh"  
运行时间: 2025-04-08 09:31:08 0.003
SELECT lang FROM n_article_data WHERE aid='1806'  
运行时间: 2025-04-08 09:31:08 0.004
UPDATE n_articles SET `views` = views+1 WHERE aid='1834' 
运行时间: 2025-04-08 09:31:08 0.006
UPDATE n_category SET `reader` = reader+1 WHERE cate_id='1834' 
运行时间: 2025-04-08 09:31:08 0.009