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 相关文章推荐
IStream与TStream之间的相互转换
Aug 01 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
php while循环得到循环次数
Oct 26 PHP
Windows中使用计划任务自动执行PHP程序实例
May 09 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
php中smarty区域循环的方法
Jun 11 PHP
php验证手机号码
Nov 11 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
Jul 10 PHP
PHP读取、解析eml文件及生成网页的方法示例
Sep 04 PHP
PHP如何将图片文件上传到另外一台服务器上
Aug 26 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
深入HTTP响应状态码速查表的详解
2013/06/07 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
PHP分享图片的生成方法
2018/04/25 PHP
javascript预览上传图片发现的问题的解决方法
2010/11/25 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
jQuery实现简单下拉导航效果
2015/09/07 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
基于JavaScript实现添加到购物车效果附源码下载
2016/08/22 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
原生JS实现图片轮播切换效果
2016/12/15 Javascript
JS重载实现方法分析
2016/12/16 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python二分查找详解
2015/09/13 Python
Python第三方库的安装方法总结
2016/06/06 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
会计工作岗位职责
2015/02/03 职场文书
2016年寒假社会实践活动总结
2015/03/27 职场文书
工作服管理制度范本
2015/08/06 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL