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 Memcached应用实现代码
Feb 08 PHP
用php的ob_start来生成静态页面的方法分析
Mar 09 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
Apr 17 PHP
php 数据结构之链表队列
Oct 17 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
Aug 02 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 PHP
PHP+jQuery实现双击修改table表格功能示例
Feb 21 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
Jul 13 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
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
遭遇php的in_array低性能问题
2013/09/17 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
共享自己写一个框架DreamScript
2007/01/20 Javascript
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
Javascript实现页面跳转的几种方式分享
2013/10/26 Javascript
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
JavaScript获取当前网页标题(title)的方法
2015/04/03 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
微信JS接口大全
2016/08/25 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
Python转换HTML到Text纯文本的方法
2015/01/15 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
简单说说tomcat的配置
2013/05/28 面试题
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
校本研修个人总结
2015/02/28 职场文书
离职告别感言
2015/08/04 职场文书
SQLyog的下载、安装、破解、配置教程(MySQL可视化工具安装)
2022/09/23 MySQL