為防止用戶上傳成人/裸露圖片,可整合 Bakr Alsharif 開發的 ImageFilter 類(來源:phpclasses.org),該類透過分析圖片各區域色調與人類膚色匹配度,回傳 0-100 分值評估裸露機率,並可輸出標記膚色像素的分析圖。支援 PNG、GIF、JPEG 格式。
<?php
include 'nf.php'; // 載入類別檔
$filter = new ImageFilter(); // 實例化
$score = $filter->GetScore($_FILES['img']['tmp_name']); // 取得分值
if (isset($score)) {
if ($score >= 60) {
echo "圖片得分 $score%,疑似裸露圖片,拒絕上傳。";
} elseif ($score < 0) {
echo "恭喜,圖片安全無裸露內容。";
}
}
?>
<form method="post" enctype="multipart/form-data" action="?php echo $_SERVER['PHP_SELF'];?>">
上傳圖片: <input type="file" name="img" id="img" />
<input type="submit" value="提交檢測" />
</form>