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下载文件名中解决乱码的问题
Jun 20 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
常用PHP框架功能对照表
Oct 23 PHP
php基于session实现数据库交互的类实例
Aug 03 PHP
PHP下载生成的csv文件及问题总结
Aug 06 PHP
smarty高级特性之过滤器的使用方法
Dec 25 PHP
PHP中如何判断exec函数执行成功?
Aug 04 PHP
php版微信发红包接口用法示例
Sep 23 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 PHP
php插件Xajax使用方法详解
Aug 31 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
Sep 29 PHP
PHP区块查询实现方法分析
May 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
PHP编程与应用
2006/10/09 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
PHP实现清除wordpress里恶意代码
2015/10/21 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
PHP 的Opcache加速的使用方法
2017/12/29 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
json数据的列循环示例
2013/09/06 Javascript
Javascript快速排序算法详解
2014/12/03 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
浅析JavaScript 调试方法和技巧
2015/10/22 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python and、or以及and-or语法总结
2015/04/14 Python
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
Python json转字典字符方法实例解析
2020/04/13 Python
python 逆向爬虫正确调用 JAR 加密逻辑
2021/01/12 Python
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
Linux操作面试题
2015/02/11 面试题
秘书专业自荐信范文
2013/12/26 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
宣传普通话标语
2014/06/27 职场文书
学校端午节活动总结
2015/02/11 职场文书
医院见习总结
2015/06/24 职场文书
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技