【php增删改查实例】第二十三节 - PHP文件上传
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文件上传的更多相关文章
- 【php增删改查实例】第二十四节 - 文件上传在项目中的具体应用
文件上传在项目中,一般有两个用武之地,分别为设置用户的头像和上传附件.本节我们演示如果进行用户头像的上传. 因为一个用户单独并且唯一对应了一个头像,是一对一的关系,所以我们需要去给tm_users表添 ...
- 【php增删改查实例】 第三节 - mysql 建表
这一节,来给数据库中添加一些测试数据. 登陆mysql: 找到%xampp%\mysql\bin 目录, 在此处打开命令窗口,用root用户登陆mysql 用户表建表sql: CREATE TABLE ...
- yii2.0增删改查实例讲解
yii2.0增删改查实例讲解一.创建数据库文件. 创建表 CREATE TABLE `resource` ( `id` int(10) NOT NULL AUTO_INCREMENT, `textur ...
- python链接oracle数据库以及数据库的增删改查实例
初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...
- java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)
1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UT ...
- 百度鹰眼Java接口调用增删改查实例
因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...
- 【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具
本节介绍如何自己DIY一个数据库管理工具,可以在页面输入sql 进行简单的增删改查操作. 首先,找到xampp的安装目录,打开htdocs: 新建一个php文件,名称为 mysqladmin.php ...
- Maven多模块项目+MVC框架+AJAX技术+layui分页对数据库增删改查实例
昨天刚入门Maven多模块项目,所以简单写了一个小测试,就是对数据库单表的增删改查,例子比较综合,写得哪里不妥还望大神赐教,感谢! 首先看一下项目结构: 可以看到,一个项目MavenEmployee里 ...
- Javaweb学习笔记——(二十二)——————文件上传、下载、Javamail
文件上传概述 1.文件上传的作用 例如网络硬盘,就是用来上传下载文件的. 在网络浏览器中,时常需要上传照片 2.文件上传对页面的要求 上 ...
随机推荐
- JavaScript按日期排序之灵活排序
上代码: var dataContent = [ { ID: "1", hobbit: "去音乐", sport: "在篮球", movie ...
- Spring Boot Actuator认识
概述 spring-boot-starter-actuator:是一个用于暴露自身信息的模块,主要用于监控与管理. 为了保证actuator暴露的监控接口的安全性,需要添加安全控制的依赖spring- ...
- Python创建空DataFrame及添加行数据
# 创建空DataFrame df = pd.DataFrame(columns = ['YJML','EJML','SJML','WZLB','GGXHPZ','CGMS']) # 插入数据(忽略索 ...
- 洗礼灵魂,修炼python(51)--爬虫篇—变色龙般的伪装
变色龙原理 变色龙这种动物想必大家都了解,它们会根据周遭环境的局势来改变自己的颜色,伪装自己. 那么爬虫有这种技能吗?当然是有的,先不着急说这个问题. 从上一篇开始,你有没有想过,站在网站管理的角度, ...
- python第三天 变量 作业
作业1,模拟登陆:1. 用户输入帐号密码进行登陆2. 用户信息保存在文件内3. 用户密码输入错误三次后锁定用户 使用文件:user_file.txt 用户列表文件. 格式:{'张三':'12 ...
- win7计划任务报该任务映像己损坏或己篡改
目录 win7计划任务报该任务映像己损坏或己篡改 前言 解决方案 排查损坏的计划任务映像 win7计划任务报该任务映像己损坏或己篡改 文:铁乐与猫 2018-9-20 前言 win7下想自定义一些计划 ...
- matplotlib numpy scipy 的安装
一:windows 端的安装 #cmd指令 python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sym ...
- 如何用jquery实现实时监控浏览器宽度
如何用jquery实现实时监控浏览器宽度 2013-06-05 14:36匿名 | 浏览 3121 次 $(window).width();这代码只能获取浏览器刷新时的那一刻的宽度,如何才能达到实时获 ...
- oracle语句insert into select如何加后续插入条件
oracle语句insert into select如何加后续插入条件 2014-01-21 10:48匿名 分类:其他编程语言 | 浏览 2746 次 oracle中有批量插入语句insert i ...
- Django之ORM查询进阶
基于双下划线的双表查询 分组与聚合函数 基于双下划线的双表查询 Django 还提供了一种直观而高效的方式在查询(lookups)中表示关联关系,它能自动确认 SQL JOIN 联系.要做跨关系查询, ...