PHP安全上传图片的方法


Posted in PHP onMarch 21, 2015

本文实例讲述了PHP安全上传图片的方法。分享给大家供大家参考。具体分析如下:

这段代码用于上传图片,可以根据图片类型检测图片是否安全,不是简单的检测扩展名

<?php // upload.php
echo <<<_END
<html><head><title>PHP Form Upload</title></head><body>
<form method='post' action='upload2.php' enctype='multipart/form-data'>
Select a JPG, GIF, PNG or TIF File:
<input type='file' name='filename' size='10' />
<input type='submit' value='Upload' /></form>
_END;
if ($_FILES)
{
$name = $_FILES['filename']['name'];
switch($_FILES['filename']['type'])
{
case 'image/jpeg': $ext = 'jpg'; break;
case 'image/gif': $ext = 'gif'; break;
case 'image/png': $ext = 'png'; break;
case 'image/tiff': $ext = 'tif'; break;
default: $ext = ''; break;
}
if ($ext)
{
$n = "image.$ext";
move_uploaded_file($_FILES['filename']['tmp_name'], $n);
echo "Uploaded image '$name' as '$n':<br />";
echo "<img src='$n' />";
}
else echo "'$name' is not an accepted image file";
}
else echo "No image has been uploaded";
echo "</body></html>";
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
使用TinyButStrong模板引擎来做WEB开发
Mar 16 PHP
PHP 日志缩略名的创建函数代码
May 26 PHP
php多功能图片处理类分享(php图片缩放类)
Mar 14 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
smarty简单应用实例
Nov 03 PHP
Zend Framework入门知识点小结
Mar 19 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
PHP Class SoapClient not found解决方法
Jan 20 PHP
Laravel框架实现的上传图片到七牛功能详解
Sep 06 PHP
laravel实现于语言包的完美切换方法
Sep 29 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
Oct 16 PHP
php中实现可以返回多个值的函数实例
Mar 21 #PHP
php输出指定时间以前时间格式的方法
Mar 21 #PHP
php中文繁体和简体相互转换的方法
Mar 21 #PHP
php使用NumberFormatter格式化货币的方法
Mar 21 #PHP
php自定义错误处理用法实例
Mar 20 #PHP
php内嵌函数用法实例
Mar 20 #PHP
codeigniter中view通过循环显示数组数据的方法
Mar 20 #PHP
You might like
BBS(php &amp; mysql)完整版(六)
2006/10/09 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
2013/10/29 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
浅析Prototype的模板类 Template
2011/12/07 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
2015/12/08 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
js获取iframe中的window对象的实现方法
2016/05/20 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
angularjs项目的页面跳转如何实现(5种方法)
2017/05/25 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
Vue.js构建你的第一个包并在NPM上发布的方法步骤
2019/05/01 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
历史学专业大学生找工作的自我评价
2013/10/16 职场文书
酒吧总经理岗位职责
2013/12/10 职场文书
客户答谢会活动方案
2014/08/31 职场文书
公司离职证明范本(汇总)
2014/09/10 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
python实现学生信息管理系统(面向对象)
2022/06/05 Python