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 相关文章推荐
写一个用户在线显示的程序
Oct 09 PHP
初学CAKEPHP 基础教程
Nov 02 PHP
Zend framework处理一个http请求的流程分析
Feb 08 PHP
深入php数据采集的详解
Jun 02 PHP
解析php常用image图像函数集
Jun 24 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
Dec 25 PHP
php使用qr生成二维码的示例分享
Jan 20 PHP
php图片处理函数获取类型及扩展名实例
Nov 19 PHP
php随机获取金山词霸每日一句的方法
Jul 09 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
php微信分享到朋友圈、QQ、朋友、微博
Feb 18 PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 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
php 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
javascript各种复制代码收集
2008/09/20 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
jquery的trigger和triggerHandler的区别示例介绍
2014/04/20 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
2016/05/12 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
2017/09/20 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python 第一步 hello world
2009/09/25 Python
浅谈python多线程和队列管理shell程序
2015/08/04 Python
python tensorflow基于cnn实现手写数字识别
2018/01/01 Python
Python编程argparse入门浅析
2018/02/07 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
Python代码需要缩进吗
2020/07/01 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
python缩进长度是否统一
2020/08/02 Python
python实现学生通讯录管理系统
2021/02/25 Python
大学毕业生简单自荐信
2013/11/05 职场文书
如何写一份好的自荐信
2014/01/02 职场文书
促销活动计划书
2014/05/02 职场文书
本科生就业推荐信
2014/05/19 职场文书
设备收款委托书范本
2014/10/02 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
解析laravel使用workerman用户交互、服务器交互
2021/04/28 PHP
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers