利用PHP怎么对用户上传的照片进行过滤

介绍

利用PHP怎么对用户上传的照片进行过滤吗?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

我在phpclasses.org上面偶然发现一个很有用的,由?克尔Alsharif开发的可以帮助开发者基于皮肤像素点来检测图片裸照的类文件。

它会分析在一张图片的不同部分使用的颜色,并决定其是否匹配人类皮肤颜色的色调。

作为分析的结果,他会返回一个反映图片包含裸露的可能性的分值。

此外,他还可以输出被分析的图片,上面对使用给定颜色的肤色的像素进行了标记。

当前它可以对PNG、GIF和JPEG图片进行分析。PHP


下面展示了如何使用这个PHP类。

让我们先从包含裸体过滤器,nf.php文件开始。

代码如下:


include&, (& # 39; nf.php& # 39;);

接下来,创建一个新的名叫ImageFilter的类,然后把它放到一个叫做过滤的美元变量中。

代码如下:


$过滤器=新ImageFilter;

获取图片的分值并将其放到一个美元的分数变量中。

代码如下:


得分=过滤器→美元GetScore(带有_file美元[& # 39;img # 39;] [& # 39; tmp_name& # 39;]);

如果图片分值大于或等于60%,那就展示一条(告)警消息。

代码如下:


如果(分数在美元=60){
/*信息*/
}

下面是所有的PHP代码:

代码如下:


& lt; ?php
/*包括裸体过滤器文件*/
包括(& # 39;nf.php& # 39;);
/*创建一个新类称为过滤器*/
过滤器美元=new ImageFilter;
/*得到图像的分数*/
得分=过滤器→美元GetScore(带有_file美元[& # 39;img # 39;] [& # 39; tmp_name& # 39;]);
/*如果$评分变量设置*/
如果(收取(分数)美元){
,,,/*如果包含裸体的图片,显示图片和消息。得分值,如果超过60%,这被认为是一个成人的形象。*/
,,,如果(分数在美元=60){
,,,,,,,回声“图像取得了“。美元的分数。“%,看来你上传一个干净自己的裸体照片,
,,,/*如果图像并# 39;t包含裸露*/,,,
,,,}else if($分数& lt;0){
,,,,,,,回声“祝贺你,你上传一个无裸露图片!”;
,,,}
}
?在

标记语言
我们可以使用一个基础的HTML表单上传图片。

代码如下:


& lt;形式方法=皃ost"enctype=岸嗖糠?form-data"action=? lt; ?php echo $服务器[& # 39;PHP_SELF& # 39;]; ?比;“在
上传图片:
& lt;输入类型=癴ile"name=癷mg"id=癷mg"/在
& lt;输入类型=皊ubmit"值=https://www.yisu.com/zixun/"苏米特形象"/>
& lt;/form>

利用PHP怎么对用户上传的照片进行过滤