使用PHP实现阻止用户上传成人照片或者裸照_php实例

 在这份教程中,我们将会学习到如何阻止用户通过PHP上传成人照片或者裸照.

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

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

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

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

  当前它可以对PNG,GIF和JPEG图片进行分析.

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

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

复制代码 代码如下:

include ('nf.php');

  接下来,创建一个新的名叫ImageFilter的类,然后把它放到一个叫做$filter的变量中.

复制代码 代码如下:

$filter = new ImageFilter;

  获取图片的分值并将其放到一个$score变量中.

复制代码 代码如下:

$score = $filter -> GetScore($_FILES['img']['tmp_name']);

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

复制代码 代码如下:

if($score >= 60){
/*Message*/
}

  下面是所有的PHP代码:

复制代码 代码如下:

<?php
/*Include the Nudity Filter file*/
include ('nf.php');
/*Create a new class called $filter*/
$filter = new ImageFilter;
/*Get the score of the image*/
$score = $filter -> GetScore($_FILES['img']['tmp_name']);
/*If the $score variable is set*/
if (isset($score)) {
    /*If the image contains nudity, display image score and message. Score value if more than 60%, it is considered an adult image.*/
    if ($score >= 60) {
        echo "Image scored " . $score . "%, It seems that you have uploaded a nude picture.";
    /*If the image doesn't contain nudity*/   
    } else if ($score < 0) {
        echo "Congratulations, you have uploaded an non-nude image.";
    }
}
?>

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

复制代码 代码如下:

<form method="post" enctype="multipart/form-data" action="<?php echo $SERVER['PHP_SELF'];?> ">
Upload image:
<input type="file" name="img" id="img" />
<input type="submit" value="Sumit Image" />
</form>

  总结
  请记得,PHP不能够检测所有的裸体图片,所以不完全可信.我希望你觉得这还有点用处.

时间: 2024-11-08 18:58:19

使用PHP实现阻止用户上传成人照片或者裸照_php实例的相关文章

PHP 如何阻止用户上传成人照片或者裸照

原文:PHP 如何阻止用户上传成人照片或者裸照 在这份教程中,我们将会学习到如何阻止用户通过PHP上传成人照片或者裸照. 示例   下载 我在phpclasses.org上面偶然发现一个很有用的,由Bakr Alsharif开发的可以帮助开发者基于皮肤像素点来检测图片裸照的类文件. 它会分析在一张图片的不同部分使用的颜色,并决定其是否匹配人类皮肤颜色的色调. 作为分析的结果,他会返回一个反映图片包含裸露的可能性的分值. 此外,他还可以输出被分析的图片,上面对使用给定颜色的肤色的像素进行了标记.

web-要做一个常见微信公众号投票活动,用户上传自己照片,页面全部展陈,所有用户均能投票。

问题描述 要做一个常见微信公众号投票活动,用户上传自己照片,页面全部展陈,所有用户均能投票. 因为本人不熟悉web语言,所以用腾讯风铃设好站点,风铃里面没有这种投票模块,可以插入html代码模块,想问下有没有大神有js模块代码的,不知道是不是还要个数据库. 解决方案 肯定要用到数据库啊,每个人投了哪一项要传到后台记录统计出来才可以啊

PHP 图片上传实现代码 带详细注释_php实例

复制代码 代码如下: <?php //用户上传图片处理文件 if ((($_FILES["file"]["type"] == "image/gif")|| ($_FILES["file"]["type"] == "image/jpeg")|| ($_FILES["file"]["type"] == "image/pjpeg"

yii使用activeFileField控件实现上传文件与图片的方法_php实例

本文实例讲述了yii使用activeFileField控件实现上传文件与图片的方法.分享给大家供大家参考,具体如下: yii框架提供了activeFileField控件来完成上传文件(当然也包括了上传图片)的操作,下面介绍yii的activeFileField使用方法. 1.函数原型: 复制代码 代码如下: public static string activeFileField(CModel $model, string $attribute, array $htmlOptions=array

Codeigniter实现多文件上传并创建多个缩略图_php实例

该程序可以实现:1.同时上传5张图片2.同时生成两种尺寸的缩略图3.保存到mysql controllers:upload.php文件: 复制代码 代码如下: <?phpclass Upload extends Controller {  function go() {    if(isset($_POST['go'])) {      //初始化      $config['upload_path'] = 'album/source';       $config['allowed_types

yii实现图片上传及缩略图生成的方法_php实例

本文实例讲述了利用yii框架来实现图片上传功能并在上传成功之后自动生成缩略图的方法,分享给大家供大家参考.具体实现方法如下: Action文件: 复制代码 代码如下: <?php /**  * TestController.php  * Created on: 2014-1-26 12:59:36 by Outsider  */ class TestController extends CController {       /**      * 缩略图片生成      * @ path 图片路

PHP设置图片文件上传大小的具体实现方法_php实例

我们简要介绍一下PHP文件上传涉及到的一些参数: •file_uploads :是否允许通过HTTP上传文件的开关,默认为ON即是开.•upload_tmp_dir :upload_tmp_dir用来说明PHP上传的文件放置的临时目录,要想上传文件,得保证服务器没有关闭临时文件和有对文件夹的写权限,如果未指定则PHP使用系统默认值.•upload_max_filesize :允许上传文件大小的最大值,默认为2M.•post_max_size :控制在采用POST方法进行一次表单提交中PHP所能够

解决Codeigniter不能上传rar和zip压缩包问题_php实例

codeigniter在上传文件时对格式的限制是在application文件夹下config中的mimes.php文件中定义的.该文件默认不包含rar,而且对zip的定义不能上传压缩包.我们在类中,加入以下代码,即可解决这个问题: 复制代码 代码如下: "zip" => array("application/x-zip", "application/zip" ,"application/x-zip-compressed"

kohana框架上传文件验证规则写法示例_php实例

先声明下我用的是ko3.2.0版本. kohana的验证,用的同学们都少懂点,因为每个函数的注释里都会举个例子.今天遇到的情况是验证图片上传,kohana的例子是这个样子的. 复制代码 代码如下: $array->rule('file', 'Upload::type', array(array('jpg', 'png', 'gif'))); 这个本身没有问题,但是呢,在实际的应用中总有点不方便,为什么呢,因为传到后面处理的时候,不仅要验证图片的上传还要验证form表单的某些字段. 一般我们会这样