Cloud Vision APIをPHPから使ってみた。その④
今回で「Cloud Vision APIをPHPから使ってみた」シリーズは最終回となります。
前回はレスポンスの確認までできました。これでAPI自体の利用は終わりですが、画像はサーバ上の画像を指定することにしていました。今回は画像をローカルからアップロードして、その画像をAPIに投げられるようにするためのアップロード用ページを作成していきます。
PHPの作成
まずは画像アップロードページ
1 2 3 4 5 6 7 8 9 10 11 | <html> <head> <meta charset= "utf-8" > </head> <body> <form action= "filesave.php" method= "post" enctype= "multipart/form-data" > <p>ファイル:<input type= "file" name= "upfile" size= "40" /></p> <p><input type= "submit" value= "送信" /></p> </form> </body> </html> |
CSSを一切きかせていませんので、素っ気ないページになりますが、
ファイル選択ができるようになります。
上記のフォームからアップロードされた画像を保存するPHPファイルを作成します。
1 2 3 4 5 6 7 8 9 | <?php echo "start" ; ini_set ( 'display_errors' , 1 ); $temppath = $_FILES [ "upfile" ][ "tmp_name" ]; echo $temppath ; $filename = $_FILES [ "upfile" ][ "name" ]; echo $filename ; $result = move_uploaded_file( $temppath , "uploads/" . $filename ); echo $result ; |
画像アップロードをするとサーバのtmpフォルダ以下に一時ファイルとして画像が格納されますので、
これを保存したい位置に移動してあげる必要があります。
アップロード画像の属性は「$_FILES」配列の中身に格納されていますので、
1 | $temppath = $_FILES [ "upfile" ][ "tmp_name" ]; |
のように一時的に格納されているファイルのパスを取得し、
1 | $filename = $_FILES [ "upfile" ][ "name" ]; |
のようにアップした画像のファイル名を取得することができます。
この情報を用いて「move_uploaded_file」関数で、tmpファイルを保存したい場所に保存します。
あとはこのアップしたファイルのパスを前々回のようにAPIに渡してあげればOKです。
まとめ
全4回にわたって、Cloud Vision APIの使い方についてみてきましたが、
自分で実装することが難しいであろう画像解析機能を簡単に利用できるという点は本当に魅力的だと思います。
こういった技術があることを知ると、色々とサービスのアイディアが出てくると思いました。
初級インフラエンジニアにオススメ連載リンク
ネットワーク学習の登竜門・・
ゼロからのCCNA独学講座
Linuxの取り扱いを基礎から学ぶ
Linux資格 「LPIC-Lv1」徹底解説