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的栏目导航程序
Oct 09 PHP
PHP的面试题集,附我的答案和分析(一)
Nov 19 PHP
PHP中for循环语句的几种变型
Nov 26 PHP
PR值查询 | PageRank 查询
Dec 20 PHP
symfony表单与页面实现技巧
Jan 26 PHP
php实现比较全的数据库操作类
Jun 18 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
Jul 21 PHP
PHP中的密码加密的解决方案总结
Oct 26 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
php5.x禁用eval的操作方法
Oct 19 PHP
PHP抽象类与接口的区别详解
Mar 21 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中动态显示签名和ip原理
2007/03/28 PHP
php array_filter除去数组中的空字符元素
2020/06/21 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
js下利用控制器载入对应脚本
2010/07/17 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
jQuery编写textarea输入字数限制代码
2017/03/23 jQuery
Angular2开发——组件规划篇
2017/03/28 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
vue-resource:jsonp请求百度搜索的接口示例
2019/11/09 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
python的else子句使用指南
2016/02/27 Python
怎样使用Python脚本日志功能
2016/08/14 Python
Python面向对象程序设计多继承和多态用法示例
2019/04/08 Python
python打开使用的方法
2019/09/30 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
Python tcp传输代码实例解析
2020/03/18 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
python实现简单猜单词游戏
2020/12/24 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
常见的软件开发流程有哪些
2015/11/14 面试题
财务会计专业毕业生自荐信
2013/10/02 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
公司员工活动策划方案
2014/08/20 职场文书
JavaScript继承的三种方法实例
2021/05/12 Javascript
python基础之//、/与%的区别详解
2022/06/10 Python