22. PHP文件上传

22.1 资源文件



将这三个东西拷贝项目的根目录。

拷贝完毕后,打开upload.html:



现在,我们在项目的根目录去编写一个upload.php。



PHP给我们提供了很多关于文件上传的预定义变量,比如,上传的文件名称,文件大小,文件的类型等。

以下的up_file 就是form表单中文件框的name

22.2 如何修改文件上传的大小限制

打开xampp的安装目录,在目录中搜索php.ini的配置文件。



打开php.ini , 搜索upload_max:



再搜索post_max:



接着,重启服务器。

22.3 更改文件大小的名称

	function getSize($fileSize){
if($fileSize < 1024){
$fileSize = $fileSize . "B";
}else if($fileSize < 1024 * 1024){
$fileSize = round($fileSize / 1024,2) . "KB";
}else if($fileSize < 1024 * 1024 * 1024){
$fileSize = round($fileSize / 1024 / 1024,2) . "MB";
}else if($fileSize < 1024 * 1024 * 1024 * 1024){
$fileSize = round($fileSize / 1024 / 1024 / 1024 , 2) . "GB";
} return $fileSize;
}

22.4 文件上传

在PHP中,文件上传的时候会默认上传到一个临时目录,上传完毕后,如果没有及时把上传的文件从临时目录拷贝到上传的文件夹,临时文件就会被删除。

所以,当文件上传成功以后,我们一定要及时地把临时拷贝到上传目录。

	$temp = $_FILES["up_file"]["tmp_name"];
move_uploaded_file($temp,"upload/" . time() . "_" . $_FILES["up_file"]["name"]); echo "上传成功!";

同时,为了解决同名文件的覆盖问题,我们最好给上传的文件名改一下名字,在文件名的前面添加一个时间戳即可。

如果上传的文件是一个图片,那么,在上传成功的页面中,把上传好的图片显示在页面上,让用户知道自己上传的是什么图片。

$des = "upload/" . time() . "_" .  $_FILES["up_file"]["name"];
$temp = $_FILES["up_file"]["tmp_name"];
move_uploaded_file($temp,$des); echo "上传成功!<br>";
//先判断是不是图片?
if(strstr($_FILES["up_file"]["type"], "image")){
//如果是图片的话,就把上传好的图片显示在页面上
echo "<image src='".$des."' width='360px' />";
}

源码获取:https://www.jianshu.com/p/4977bd0073d5

【php增删改查实例】第二十三节 - PHP文件上传的更多相关文章

  1. 【php增删改查实例】第二十四节 - 文件上传在项目中的具体应用

    文件上传在项目中,一般有两个用武之地,分别为设置用户的头像和上传附件.本节我们演示如果进行用户头像的上传. 因为一个用户单独并且唯一对应了一个头像,是一对一的关系,所以我们需要去给tm_users表添 ...

  2. 【php增删改查实例】 第三节 - mysql 建表

    这一节,来给数据库中添加一些测试数据. 登陆mysql: 找到%xampp%\mysql\bin 目录, 在此处打开命令窗口,用root用户登陆mysql 用户表建表sql: CREATE TABLE ...

  3. yii2.0增删改查实例讲解

    yii2.0增删改查实例讲解一.创建数据库文件. 创建表 CREATE TABLE `resource` ( `id` int(10) NOT NULL AUTO_INCREMENT, `textur ...

  4. python链接oracle数据库以及数据库的增删改查实例

    初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...

  5. java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)

    1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  6. 百度鹰眼Java接口调用增删改查实例

    因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...

  7. 【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具

    本节介绍如何自己DIY一个数据库管理工具,可以在页面输入sql 进行简单的增删改查操作. 首先,找到xampp的安装目录,打开htdocs: 新建一个php文件,名称为 mysqladmin.php ...

  8. Maven多模块项目+MVC框架+AJAX技术+layui分页对数据库增删改查实例

    昨天刚入门Maven多模块项目,所以简单写了一个小测试,就是对数据库单表的增删改查,例子比较综合,写得哪里不妥还望大神赐教,感谢! 首先看一下项目结构: 可以看到,一个项目MavenEmployee里 ...

  9. Javaweb学习笔记——(二十二)——————文件上传、下载、Javamail

    文件上传概述      1.文件上传的作用          例如网络硬盘,就是用来上传下载文件的.          在网络浏览器中,时常需要上传照片 2.文件上传对页面的要求          上 ...

随机推荐

  1. 洗礼灵魂,修炼python(59)--爬虫篇—httplib模块

    httplib 1.简介 同样的,httplib默认存在于python2,python3不存在: httplib是python中http协议的客户端实现,可以用来与 HTTP 服务器进行交互,支持HT ...

  2. k-vim安装及The ycmd server SHUT DOWN (restart with ':YcmRestartServer')这种错误的解决方法

    vim配置 下载地址:https://github.com/wklken/k-vim 安装步骤: 1. clone 到本地 git clone https://github.com/wklken/k- ...

  3. jenkins安装及配置-centos6.9

    Jenkins安装及配置 目录 1.安装java. 2 1.1安装说明... 2 1.2创建java目录... 2 1.3下载并解压... 2 1.4设置环境变量... 2 1.5验证JDK有效性.. ...

  4. Department and Student

    软工结对作业之二 本人ID:杨光海天 031502634 队友(大佬)ID:陈涵 031502106 GitHub链接 BIN文件地址 代码文件 整体概况 模型建立 学生类,属性包括: * 1)编号 ...

  5. 17秋 软件工程 团队第五次作业 Alpha Scrum10

    17秋 软件工程 团队第五次作业 Alpha Scrum10 今日完成的任务 世强:Android客户端成员列表完善.APP前端子部门和活动中心界面与数据交互: 港晨:Web前端主页的接口对接: 树民 ...

  6. 建立标准编码规则(一)-自定义C#代码分析器

    1.下载Roslyn的Visual Studio分析器模板插件(VS2015 或VS2017) https://marketplace.visualstudio.com/items?itemName= ...

  7. asp.net core中使用HttpClient实现Post和Get的同步异步方法

     准备工作 1.visual studio 2015 update3开发环境 2.net core 1.0.1 及以上版本  目录 1.HttpGet方法 2.HttpPost方法 3.使用示例 4. ...

  8. [Oracle] ROWNUM和分页

    rownum是oracle的一个伪劣,它的顺序依据从表中获取记录的顺序递增,这里要注意的是:由于记录在表中是无序存放的.因此你无法通过简单的rownum和order by的组合获得相似TOP N的结果 ...

  9. Arduino 433 + 串口

    http://www.freebuf.com/articles/wireless/105398.html /*本作品使用的例程中包含RCSwitch库文件用于信号的解码和编码发送*/ #include ...

  10. ethereum/EIPs-160 EXP cost increase

    eip title author type category status created 160 EXP cost increase Vitalik Buterin Standards Track ...