一、基本知识

通过使用 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位文件上传相关推荐

  1. 文件上传之传统方式上传代码回顾

    <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html ...

  2. 传统form表单提交方式的文件上传与文件存储

    引言 时隔一天,上一篇文章<文件存储>刚一停笔,今天上午就解决了困扰我已久的文件上传问题. 站在一个已实现功能的角度来重新看待这个文件上传的业务:编辑页面选择jar包,然后通过form表单 ...

  3. layui实现文件压缩上传_基于SSM框架、Layui的多文件上传、包括图片,压缩包,音频等文件(与数据库挂钩) - 爱秧博客...

    写在前面:当初为了实现一个多文件上传可是费了一番功夫,经过我日日夜夜的百度咨询,写了好几种方法,最终还是没能解决问题.我可以很负责任的告诉你,你去百度上不管你形容有多好,只要是涉及多文件,就会查到Mu ...

  4. 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)...

    一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp) 程序员的生活要一切自动化,更要幸福^_^. 转载请注明出处http: ...

  5. 拉取ftp服务器上的文件_winscp和云服务器,2步实现winscp将文件上传到腾讯云Linux云服务器...

    WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端.同时支持SCP协议,它的主要功能就是在本地与远程计算机间安全的复制文件.与使用FTP上传代码相比,通过WinSCP可以直接使 ...

  6. php利用ajax文件上传,如何在PHP中利用AjaxForm实现一个文件上传功能

    如何在PHP中利用AjaxForm实现一个文件上传功能 发布时间:2020-12-18 14:52:38 来源:亿速云 阅读:94 作者:Leah 如何在PHP中利用AjaxForm实现一个文件上传功 ...

  7. python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小

    python 实现统计ftp服务器指定目录下文件夹数目.文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类 ...

  8. php多文件上传存储到表,PHP 实现一种多文件上传的方法

    搜索热词 之前在实现表单中file类型input选择多图片的时候找到一种方式 也许不是最好的但亲测可行且支持ie7以上以及chrome浏览器 在表单中使用正常多文件选择multiple属性 PHP;& ...

  9. 怎么用git将本地代码上传到远程服务器_git之如何把本地文件上传到远程仓库的指定位置...

    2018.11.26添加内容: 对于自己的仓库,我们建议将远程仓库通过clone命令把整个仓库克隆到本地的某一路径下.这样的话我们从本地向远程仓库提交代码时,就可以直接把需要提交的文件拖到我们之前克隆 ...

  10. php 拖拽 上传文件 进度,在Vue中如何实现带进度条的文件拖动上传功能

    这篇文章主要介绍了Vue实现带进度条的文件拖动上传功能,本文通过实例代码给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下 1. 基本界面 content="width=devic ...

最新文章

  1. 公共基因表达数据分析系统genevestigator,再也不愁表达数据的查询和比较了
  2. UI基础视图----UIImageView总结
  3. Android中实现Launcher功能之四---滑屏初探 scrollTo 以及 scrollBy方法使用说明
  4. 修改Element-UI的组件样式
  5. leetcode - 1024. 视频拼接
  6. 关于火狐浏览器在ubuntu和安卓手机上的同步
  7. python的notebook怎么用_如何通过命令行将IPython Notebook转换为Python文件?
  8. 偶极子天线参数优化记录
  9. dp算法求解矩阵连乘的问题
  10. 那些烦人的VC++库、win10中的VC++库(全部)
  11. 【IT之路】Docker拉取镜像查看版本
  12. 2019牛客暑期多校训练营(第八场)E.Explorer
  13. 蓝桥杯算法训练-隐匿的刺客
  14. 百度云服务器BCC centos实例搭建vsftpd站点
  15. linux怎么越狱苹果手机,如何在苹果手机使用unc0ver越狱
  16. DELL XPS 8930-R 从优盘安装centos7服务器
  17. 计算机电池维修心得,CMOS电池引起计算机无法启动的检修详解
  18. 第九章:CSDN记忆
  19. 高度平衡二叉树的构建_平衡二叉树 构造方法(绝妙)
  20. ROS下dobot(magician)机械臂的python demo

热门文章

  1. 阅读器xodo_佐道Xodo——手机最佳pdf阅读器
  2. oracle+connect+by+level,oracle connect by用法篇
  3. gramer法则matlab,东南大学几何与代数matlab实验报告(大一专用).doc
  4. redis插件连接集群 shiro_Shiro经过Redis管理会话实现集群(转载)
  5. java高并发(十四)ReetrantLock 与锁
  6. 我在 GitHub 上看到了一个丧心病狂的开源项目!
  7. GitHub 标星 8w!学完这份指南后,你就可以去 Google 面试了!
  8. 这里有 8 个流行的 Python 可视化工具包,你喜欢哪个?
  9. 期权定价理论及其matlab实现过程,期权定价理论及其Matlab实现过程
  10. el-table 树形表格 自定义展开图标_耍好控件 | 产品图标体系是如何炼成的?