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 相关文章推荐
删除及到期域名的查看(抢域名必备哦)
May 14 PHP
PHP内核介绍及扩展开发指南―基础知识
Sep 11 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
Sep 05 PHP
php中检查文件或目录是否存在的代码小结
Oct 22 PHP
PHP Curl出现403错误的解决办法
May 29 PHP
php读取文件内容的方法汇总
Jan 24 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
php数组函数array_key_exists()小结
Dec 10 PHP
CI框架扩展系统核心类的方法分析
May 23 PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 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
15种PHP Encoder的比较
2007/03/06 PHP
php 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
PHP的PDO连接讲解
2019/01/24 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
js下用gb2312编码解码实现方法
2009/12/31 Javascript
Extjs学习笔记之八 继承和事件基础
2010/01/08 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
2012/12/26 Javascript
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
2018/11/10 Python
基于python的Paxos算法实现
2019/07/03 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
python将数据插入数据库的代码分享
2020/08/16 Python
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
先进党支部事迹材料
2014/01/13 职场文书
美术社团活动总结
2014/06/27 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
2014年小学数学教师工作总结
2014/12/03 职场文书
2015年上半年党建工作总结
2015/03/30 职场文书
python实现会员管理系统
2022/03/18 Python
Nginx利用Logrotate实现日志分割
2022/05/20 Servers