PHP文件上传小程序 适合初学者学习!
时间:2022-07-27
本文章向大家介绍PHP文件上传小程序 适合初学者学习!,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例为大家分享了PHP文件上传小程序的具体代码,供大家参考,具体内容如下
废话略过,直接上代码:
首先前端代码:index.html
<html
<head
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"
<title 文件上传Demo</title
</head
<body
<form method="post" action="upload.php" enctype="multipart/form-data"
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%"
<tr
<td width=55 height=20 align="center"
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" 文件:
</td
<td height="16"
<input name="file" type="file" value="浏览" /
<input type="submit" value="上传" name="submit" /
</td
</tr
</table
</form
</body
</html
接下来是重点:upload.php
<?php
/**
* @title 文件上传示例
* @author FeoniX
*/
header("Content-Type:text/html; charset=utf-8");
if($_POST['submit']){
$upfiles = new Upload();
$upfiles- upload_file();
}
class Upload{
public $upload_name; //上传文件名
public $upload_tmp_name; //上传临时文件名
public $upload_final_name; //上传文件的最终文件名
public $upload_target_dir; //文件被上传到的目标目录
public $upload_target_path; //文件被上传到的最终路径
public $upload_filetype ; //上传文件类型
public $allow_uploadedfile_type;//允许的上传文件类型
public $upload_file_size; //上传文件的大小
public $allow_uploaded_maxsize=10000000;//允许上传文件的最大值
//构造函数
public function __construct()
{
$this- upload_name = $_FILES["file"]["name"]; //取得上传文件名
$this- upload_filetype = $_FILES["file"]["type"];
$this- upload_tmp_name = $_FILES["file"]["tmp_name"];
$this- allow_uploadedfile_type = array('jpeg','jpg','png','gif','bmp','doc','xls','csv','zip','rar','txt','wps');
$this- upload_file_size = $_FILES["file"]["size"];
$this- upload_target_dir="./upload";
}
//文件上传
public function upload_file()
{
$upload_filetype = $this- getFileExt($this- upload_name);//获取文件扩展名
if(in_array($upload_filetype,$this- allow_uploadedfile_type))//判断文件类型是否符合要求
{
if($this- upload_file_size < $this- allow_uploaded_maxsize)//判断文件大小是否超过允许的最大值
{
if(!is_dir($this- upload_target_dir))//如果文件上传目录不存在
{
mkdir($this- upload_target_dir);//创建文件上传目录
chmod($this- upload_target_dir,0777);//改权限
}
$this- upload_final_name = date("YmdHis").rand(0,100).'.'.$upload_filetype;//生成随机文件名
$this- upload_target_path = $this- upload_target_dir."/".$this- upload_final_name;//文件上传目标目录
if(!move_uploaded_file($this- upload_tmp_name,$this- upload_target_path))//文件移动失败
{
echo "<font color=red 文件上传失败!</font ";
}
else
{
echo "<font color=green 文件上传成功!</font ";
}
}
else
{
echo("<font color=red 文件太大,上传失败!</font ");
}
}
else
{
echo("<font color=red 仅支持一下文件类型,请重新选择:<br ".implode(',',$this- allow_uploadedfile_type)."</font ");
}
}
/**
*获取文件扩展名
*@param String $filename 要获取文件名的文件
*/
public function getFileExt($filename){
$info = pathinfo($filename);
return @$info["extension"];
}
}
?
以上就是本文的全部内容,希望对大家的学习有所帮助。
- 通过vmstat的简单分析数据库操作 (r3笔记23天)
- 海量数据迁移之一个误操作的问题总结(r3笔记第21天)
- 关于dblink锁定带来的问题(r3笔记第20天)
- 利用sql语句解决简单的数学题(r3笔记第19天)
- 用XGBoost做时间序列预测—forecastxgb包
- 数据挖掘算法(logistic回归,随机森林,GBDT和xgboost)
- 关于修改数据库参数的测试(r3笔记第18天)
- 50多条实用mysql数据库优化建议
- 关于查询转换的一些简单分析(一) (r3笔记第37天)
- 简单实用的sql小技巧(第一篇) (r3笔记第36天)
- 关于修改分区表的问题总结 (r3笔记35天)
- 利用Python绘制MySQL数据图实现数据可视化
- 生产环境sql语句调优实战第九篇(r3笔记第34天)
- python数据分析之股票实战
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 【Flutter 专题】101 何为 Flutter Elements ?
- 10.10面试:SpringMVC中目前学习过的注解及功能?+怎么接受前端传递到后台的数据?
- 【Flutter 专题】102 何为 Flutter RenderObjects ?
- 创建出来的maven项目没有iml文件
- SpringMVC传递参数乱码解决,web.xml中配置编码过滤器
- SpringMVC中传值有些值为null使用@RequestParam(“name“)解决
- 9.30面试:AOP+事务+JDK动态代理与cglib区别+Spring的aop如何切换底层创建代理对象的方式
- R语言实现基因组的可视化
- Linux实用命令大全(附思维导图)
- 二叉搜索树与python中self参数理解
- 需要了解的Python编码解码知识
- 程序员必备技能之markdown写作
- Python列表操作最全面总结
- Python 0基础开发游戏:打地鼠(详细教程)VS code版本
- Python经典编程题:字符串替换