base64的php文件上传,PHP传统文件上传和Base64位文件上传
一、基本知识
通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的 input name,第二个下标可以是 "name", "type", "size", "tmp_name" 或 "error"。就像这样:
$_FILES["file"]["name"] - 被上传文件的名称
$_FILES["file"]["type"] - 被上传文件的类型
$_FILES["file"]["size"] - 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码
这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关什么用户有权上传文件的限制。
二、常用上传
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "
";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "
";
echo "Type: " . $_FILES["file"]["type"] . "
";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
Filename:复制代码
三、php读取和保存base64编码的图片内容
if($_POST['submit']){
$image_info = getimagesize($_FILES['file']['tmp_name']);//$_FILES['file']['tmp_name']即文件路径
$base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(base64_encode(file_get_contents($_FILES['file']['tmp_name'])));
echo $base64_image_content;die;
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
$type = $result[2];
$new_file = "./test.{$type}";
if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
echo '新文件保存成功:', $new_file;
}
}
}
?>
Filename:复制代码
base64的php文件上传,PHP传统文件上传和Base64位文件上传相关推荐
- 文件上传之传统方式上传代码回顾
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html ...
- 传统form表单提交方式的文件上传与文件存储
引言 时隔一天,上一篇文章<文件存储>刚一停笔,今天上午就解决了困扰我已久的文件上传问题. 站在一个已实现功能的角度来重新看待这个文件上传的业务:编辑页面选择jar包,然后通过form表单 ...
- layui实现文件压缩上传_基于SSM框架、Layui的多文件上传、包括图片,压缩包,音频等文件(与数据库挂钩) - 爱秧博客...
写在前面:当初为了实现一个多文件上传可是费了一番功夫,经过我日日夜夜的百度咨询,写了好几种方法,最终还是没能解决问题.我可以很负责任的告诉你,你去百度上不管你形容有多好,只要是涉及多文件,就会查到Mu ...
- 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)...
一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp) 程序员的生活要一切自动化,更要幸福^_^. 转载请注明出处http: ...
- 拉取ftp服务器上的文件_winscp和云服务器,2步实现winscp将文件上传到腾讯云Linux云服务器...
WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端.同时支持SCP协议,它的主要功能就是在本地与远程计算机间安全的复制文件.与使用FTP上传代码相比,通过WinSCP可以直接使 ...
- php利用ajax文件上传,如何在PHP中利用AjaxForm实现一个文件上传功能
如何在PHP中利用AjaxForm实现一个文件上传功能 发布时间:2020-12-18 14:52:38 来源:亿速云 阅读:94 作者:Leah 如何在PHP中利用AjaxForm实现一个文件上传功 ...
- python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小
python 实现统计ftp服务器指定目录下文件夹数目.文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类 ...
- php多文件上传存储到表,PHP 实现一种多文件上传的方法
搜索热词 之前在实现表单中file类型input选择多图片的时候找到一种方式 也许不是最好的但亲测可行且支持ie7以上以及chrome浏览器 在表单中使用正常多文件选择multiple属性 PHP;& ...
- 怎么用git将本地代码上传到远程服务器_git之如何把本地文件上传到远程仓库的指定位置...
2018.11.26添加内容: 对于自己的仓库,我们建议将远程仓库通过clone命令把整个仓库克隆到本地的某一路径下.这样的话我们从本地向远程仓库提交代码时,就可以直接把需要提交的文件拖到我们之前克隆 ...
- php 拖拽 上传文件 进度,在Vue中如何实现带进度条的文件拖动上传功能
这篇文章主要介绍了Vue实现带进度条的文件拖动上传功能,本文通过实例代码给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下 1. 基本界面 content="width=devic ...
最新文章
- 公共基因表达数据分析系统genevestigator,再也不愁表达数据的查询和比较了
- UI基础视图----UIImageView总结
- Android中实现Launcher功能之四---滑屏初探 scrollTo 以及 scrollBy方法使用说明
- 修改Element-UI的组件样式
- leetcode - 1024. 视频拼接
- 关于火狐浏览器在ubuntu和安卓手机上的同步
- python的notebook怎么用_如何通过命令行将IPython Notebook转换为Python文件?
- 偶极子天线参数优化记录
- dp算法求解矩阵连乘的问题
- 那些烦人的VC++库、win10中的VC++库(全部)
- 【IT之路】Docker拉取镜像查看版本
- 2019牛客暑期多校训练营(第八场)E.Explorer
- 蓝桥杯算法训练-隐匿的刺客
- 百度云服务器BCC centos实例搭建vsftpd站点
- linux怎么越狱苹果手机,如何在苹果手机使用unc0ver越狱
- DELL XPS 8930-R 从优盘安装centos7服务器
- 计算机电池维修心得,CMOS电池引起计算机无法启动的检修详解
- 第九章:CSDN记忆
- 高度平衡二叉树的构建_平衡二叉树 构造方法(绝妙)
- ROS下dobot(magician)机械臂的python demo
热门文章
- 阅读器xodo_佐道Xodo——手机最佳pdf阅读器
- oracle+connect+by+level,oracle connect by用法篇
- gramer法则matlab,东南大学几何与代数matlab实验报告(大一专用).doc
- redis插件连接集群 shiro_Shiro经过Redis管理会话实现集群(转载)
- java高并发(十四)ReetrantLock 与锁
- 我在 GitHub 上看到了一个丧心病狂的开源项目!
- GitHub 标星 8w!学完这份指南后,你就可以去 Google 面试了!
- 这里有 8 个流行的 Python 可视化工具包,你喜欢哪个?
- 期权定价理论及其matlab实现过程,期权定价理论及其Matlab实现过程
- el-table 树形表格 自定义展开图标_耍好控件 | 产品图标体系是如何炼成的?