PHP 图片上传实现代码 带详细注释


Posted in PHP onApril 29, 2010
<?php 
//用户上传图片处理文件 
if ((($_FILES["file"]["type"] == "image/gif")|| ($_FILES["file"]["type"] == "image/jpeg")|| ($_FILES["file"]["type"] == "image/pjpeg"))&& ($_FILES["file"]["size"] < 100000)){ //控制允许上传的图片类型,最后的100000为允许的图片大小 
if ($_FILES["file"]["error"] > 0){ 
echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; //出错返回 
}else{ 
/* //这是上传图片的信息,去掉前后的注释就可以看到效果. 
echo "Upload: " . $_FILES["file"]["name"] . "<br />"; 
echo "Type: " . $_FILES["file"]["type"] . "<br />"; 
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; 
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; */ 
if (file_exists("userupload/" . $_FILES["file"]["name"])){ 
echo $_FILES["file"]["name"] . " already exists. "; 
}else{ 
move_uploaded_file($_FILES["file"]["tmp_name"],"userupload/" . $_FILES["file"]["name"]); 
} $date=date('Ymdhis'); //得到当前时间,如;20070705163148 
$fileName=$_FILES['file']['name']; //得到上传文件的名字 
$name=explode('.',$fileName); //将文件名以'.'分割得到后缀名,得到一个数组 
$newPath=$date.'.'.$name[1]; //得到一个新的文件为'20070705163148.jpg',即新的路径 
$oldPath=$_FILES['file']['tmp_name']; //临时文件夹,即以前的路径 
rename("userupload/".$fileName,"userupload/".$newPath); 
//这里可以写你的SQL语句,图片的地址是 "userupload/".$newPath 
?> 
<script type="text/javascript">alert('图片上传成功!!');</script> 
<?php 
} 
}else{ 
echo "Invalid file"; //图片类型错误或者过大 
} 
?>
PHP 相关文章推荐
php中数据的批量导入(csv文件)
Oct 09 PHP
html中select语句读取mysql表中内容
Oct 09 PHP
PHP中的CMS的涵义
Mar 11 PHP
解析zend studio中直接导入svn中的项目的方法步骤
Jun 21 PHP
PHP中的闭包(匿名函数)浅析
Feb 07 PHP
php中执行系统命令的方法
Mar 21 PHP
PHP生成plist数据的方法
Jun 16 PHP
php如何获取文件的扩展名
Oct 28 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 PHP
php面向对象的用户登录身份验证
Jun 08 PHP
深入浅析PHP的session反序列化漏洞问题
Jun 15 PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
Apr 28 #PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 #PHP
PHP 文件上传全攻略
Apr 28 #PHP
PHP GD 图像处理组件的常用函数总结
Apr 28 #PHP
PHP 开发环境配置(测试开发环境)
Apr 28 #PHP
PHP 开发环境配置(Zend Studio)
Apr 28 #PHP
PHP 开发环境配置(Zend Server安装)
Apr 28 #PHP
You might like
PHP MemCached高级缓存配置图文教程
2010/08/05 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
PHP加密解密类实例代码
2016/07/20 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
jQuery菜单插件用法实例
2015/07/25 Javascript
JavaScript在网页中画圆的函数arc使用方法
2015/11/13 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
Vue.JS项目中5个经典Vuex插件
2017/11/28 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
python遍历目录的方法小结
2016/04/28 Python
深入理解Python3中的http.client模块
2017/03/29 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
2020/02/27 Python
pygame实现飞机大战
2020/03/11 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
美国保健品专家:Life Extension
2018/05/04 全球购物
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
如何整合JQuery和Prototype
2014/01/31 面试题
弘扬职业精神演讲稿
2014/03/20 职场文书
企业宣传标语
2014/06/09 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
Python中的套接字编程是什么?
2021/06/21 Python
分布式Redis Cluster集群搭建与Redis基本用法
2022/02/24 Redis
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技