所以我从互联网上下载并编辑了一个脚本来提取图像并找出它包含的十六进制值及其百分比:
脚本在这里:
<?php
$delta = 5;
$reduce_brightness = true;
$reduce_gradients = true;
$num_results = 5;
include_once("colors.inc.php");
$ex=new GetMostCommonColors();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Colour Verification</title>
</head>
<body>
<div id="wrap">
<img src="http://www.image.come/image.png" alt="test image" />
<?php
$colors=$ex->Get_Color("http://www.image.come/image.png", $num_results, $reduce_brightness, $reduce_gradients, $delta);
$success = true;
foreach ( $colors as $hex => $count ) {
if ($hex !== 'e6af23') {$success = false; }
if ($hex == 'e6af23' && $count > 0.05) {$success = true; break;}
}
if ($success == true) { echo "This is the correct colour. Success!"; } else { echo "This is NOT the correct colour. Failure!"; }
?>
</div>
</body>
</html>
这是文件 colors.inc.php 的 pastebin 链接
现在,如果我使用服务器上的图像,脚本可以正常工作,例如在 Get_Color 函数中使用 /image.png。但是,如果我尝试使用来自另一个网站的图像,包括http://www.site.com/image.png,那么脚本将不再有效,并且会出现以下错误:
警告:在第 22 行的 ... 中为 foreach() 提供了无效参数
有没有人能够看到我可以热链接到图像的方式,因为这是使用脚本的全部意义!