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 相关文章推荐
用PHP与XML联手进行网站编程代码实例
Jul 10 PHP
PHP时间格式控制符对照表分享
Jul 23 PHP
php使用curl检测网页是否被百度收录的示例分享
Jan 31 PHP
php setcookie函数的参数说明及其用法
Apr 20 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
php表单加入Token防止重复提交的方法分析
Oct 10 PHP
PHP自动补全表单的两种方法
Mar 06 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 PHP
对laravel in 查询的使用方法详解
Oct 09 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 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
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
php intval函数用法总结
2019/04/14 PHP
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
vue实现引入本地json的方法分析
2018/07/12 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
jquery ajax 请求小技巧实例分析
2019/11/11 jQuery
JS FormData对象使用方法实例详解
2020/02/12 Javascript
利用vue3+ts实现管理后台(增删改查)
2020/10/30 Javascript
vue 页面跳转的实现方式
2021/01/12 Vue.js
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
Python中for循环和while循环的基本使用方法
2015/08/21 Python
如何在Python中编写并发程序
2016/02/27 Python
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
详解python之heapq模块及排序操作
2019/04/04 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
Python实现字符型图片验证码识别完整过程详解
2019/05/10 Python
python函数修饰符@的使用方法解析
2019/09/02 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
Python 实现自动导入缺失的库
2019/10/29 Python
python实现堆排序的实例讲解
2020/02/21 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
药学专业大学生个人的自我评价
2013/11/04 职场文书
2015年安全员工作总结范文
2015/04/22 职场文书
零基础学java之方法的定义与调用详解
2022/04/10 Java/Android