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设计模式 Mediator (中介者模式)
Jun 26 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
php中文繁体和简体相互转换的方法
Mar 21 PHP
PHP SPL标准库之接口(Interface)详解
May 11 PHP
详细解读PHP的Yii框架中登陆功能的实现
Aug 21 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
Apr 26 PHP
深入了解PHP中的Array数组和foreach
Nov 06 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
form自动提交实例讲解
Jul 10 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 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中的加密功能
2006/10/09 PHP
网络资源
2006/10/09 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
PHP 登录记住密码实现思路
2013/05/07 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
php使用正则表达式获取图片url的方法
2015/01/16 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
详解vue-cli中配置sass
2017/06/21 Javascript
AngularJS实现页面跳转后自动弹出对话框实例代码
2017/08/02 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
Python numpy 提取矩阵的某一行或某一列的实例
2018/04/03 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
python实现LRU热点缓存及原理
2019/10/29 Python
python操作cfg配置文件方式
2019/12/22 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
服装厂厂长岗位职责
2013/12/27 职场文书
写给老师的表扬信
2014/01/21 职场文书
先进单位申报材料
2014/12/25 职场文书
歌剧魅影观后感
2015/06/05 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL
vue+echarts实现多条折线图
2022/03/21 Vue.js