PHP
AWS
ReKognition

PHPでAWS Rekognitionを試す

この記事で作った設定をそのまま使う
https://qiita.com/kei4eva4/items/e3b4061bc6a85456c07f

<?php
require './vendor/autoload.php';

$region = 'ap-northeast-1';
$credentials = new Aws\Credentials\Credentials(
    'key', 
    'secret'
);

// Rekognitionのクライアントを作成
$rekognition = new \Aws\Rekognition\RekognitionClient([
    'version' => 'latest',
    'region' => $region,
    'credentials' => $credentials,
]);

// 画像がPOSTされていたときのみ処理をする
if (isset($_FILES["image"])) {

    // ストリームに変換
    ob_start();
    readfile($_FILES["image"]["tmp_name"]);
    $contents = ob_get_contents();
    ob_end_clean();

    // 画像のラベル付
    // モデレーションのラベルを検出する場合はdetectModerationLabelsを使う
    $labels = $rekognition->detectLabels([ 
        'Image'     => [
            'Bytes' => $contents,
        ],
    ]);

    // 結果の表示
    echo '<p><table border="1"><tr><th>Label</th><th>Confidence</th></tr>'; 
    $i = 0;
    $confidentLabels = [];
    // モデレーションの場合は$labels['ModerationLabels']
    foreach($labels['Labels'] as $row) {
        echo '<tr>';
        echo '<td>' . $row['Name'] . '</td>';
        echo '<td>' . $row['Confidence'] . '%</td>';
        echo '</tr>';
        $i++;
    }
    echo '</table></p>';
}

?>
<html>
<body>
<form method="POST" enctype="multipart/form-data">
    <p><input type="file" name="image" name="image"></p>
    <input 
    <input type="submit" name="submit">
</form>
</body>
</html>