上传图片过滤exe文件的三种方式:
方式一:addslashes() 以 C 语言风格使用反斜线转义字符串中的字符
<?php
echo addcslashes('../images/a.jpg', 'A..z');
// 输出:../\i\m\a\g\e\s/\a.\j\p\g
// 所有大小写字母均被转义
// ... 但 [\]^_` 以及分隔符、换行符、回车符等也一并被转义了。
?>
方式二:getimagesize() 获取图片的宽高,因为exe文件是没有宽高的
<?php
list($width, $height, $type, $attr) = getimagesize("../images/a.jpg");
//var_dump($width,$height,$type,$attr);
echo "<img src=\"../images/a.jpg\" $attr>";
?>
方式三:htmlspecialchars()将特殊字符转化为html实体
<?php
$new = htmlspecialchars("<script>alert('呵呵')</script>",ENT_QUOTES);
var_dump($new); // string(44) "<script>alert('呵呵')</script>"
?>