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. Flutter 依赖的那些事儿

    Flutter 里面有2种库一样的东西, Package -creating a pure Dart component. like a new Widget. 这种是纯Dart,相当于你自己写的组件 ...

  2. Loading加载页面

    一般页面有四种情况 加载中 :就是滚动页面,后台获取加载的数据,每个页面的数据不同所以就让子类来实现,直接抽象abstract了. 加载失败 :一般都需要点击后重新加载 空页面 :也需要点击后重新加载 ...

  3. [20180614]删除bootstrap$记录无法启动2.txt

    [20180614]删除bootstrap$记录无法启动2.txt --//前几天看链接http://www.xifenfei.com/2018/05/willfully-delete-bootstr ...

  4. 洗礼灵魂,修炼python(15)--列表进阶话题—>列表解析/列表生成器

    是的,我是想到什么知识点就说什么,没有固定的主题,我的标题都是在写完博客再给的.本篇博文说说列表进阶话题.其实列表应该是比较熟悉的了,而毫不夸张的说,在实际的开发中,列表也是使用的最多的,以后你会体会 ...

  5. 26_ArrayList_HashSet的比较及Hashcode分析

    实体类: package com.itcast.day1; public class ReflectPoint { private int x; public int y; public Reflec ...

  6. 4.5Python数据类型(5)之列表类型

    返回总目录 目录: 1.列表的定义 2.列表的常规操作 3.列表的额外操作 (一)列表的定义: 列表的定义 [var1, var2, --, var n ] # (1)列表的定义 [var1, var ...

  7. ccf题库中2015年12月2号消除类游戏

    题目如下: 问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这 ...

  8. 第 16 章 C 预处理器和 C 库(预定义宏)

    /*------------------------------------- predef.c -- 预定义宏和预定义标识符 ------------------------------------ ...

  9. February 10th, 2018 Week 6th Saturday

    It is not enough to have a good mind. The main thing is to use it well. 头脑聪明还不够,重要的是好好运用. From Rene ...

  10. January 11th, 2018 Week 02nd Thursday

    Live, travel, adventure, bless, and don't be sorry. 精彩地活着,不停地前行,大胆冒险,心怀感激,不留遗憾. Everything we do is ...