温故知新 linux実践講座

温故知新 linux実践講座

温故知新。linuxを使いこなしてみよう。

ホーム » PHP入門 » おっぱい画像をPHPで -> 壇蜜画像をPHPで に変えて動作検証

— 広告 —


— 広告 —

おっぱい画像をPHPで -> 壇蜜画像をPHPで に変えて動作検証

所要時間 約 1分

端末として使っている ubuntuパソコンのプログラム開発環境を検証する目的で「Webサービスのつくり方」 おっぱい画像をPHPで の「おっぱい」を「壇蜜」に変えて ubuntu端末で実行してみました。
 
Bing Search API
無料5000トランザクション/月まで使える
参考URL
 Bing Search API を使いたいと思ったのでPythonでラッパーを作ってみた
 

<?php
// getdanmitsu.php
require_once("HTTP/Request.php");
$accountKey = 'ほげほげ';
 
$dir = './data'; //先にdataディレクトリを作っておくこと パーミッション chmod 666 ./data
$page_count = 0;
$oppai_count = 0;
 
$req = new HTTP_Request("https://api.datamarket.azure.com/Bing/Search/Image");
 
while (1) {
    $offset = $page_count * 50;
    $url = "https://api.datamarket.azure.com/Bing/Search/Image?"
     . "Query='" . urlencode('壇蜜') . "'"
     . "&Market='ja-JP'"
     . "&Adult='off'"
     . "&\$format=json"
     . "&\$top=50&\$skip=" . $offset;
 
    $context = stream_context_create(array('http' => array(
                'request_fulluri' => true,
                'header' => "Authorization: Basic " . base64_encode($accountKey . ":" . $accountKey)
                )
            ));
 
    $res = file_get_contents($url, 0, $context);
    $ref = json_decode($res);
    $arr = $ref -> d -> results;
    if (!isset($arr)) { // Resultsが定義されていない場合
        break;
    } 
    foreach ($arr as $entry) {
        $img_url = $entry -> MediaUrl;
        if (!preg_match('/\.jpg$/', $img_url)) { // 拡張子が.jpgでない場合
            continue;
        } 
        $oppai_count++;
        $filename = md5(utf8_encode($img_url)) . '.jpg';
        $filepath = $dir . '/' . basename($img_url);
        if (file_exists($filepath)) { // 既に同名のファイルが存在する場合
            continue;
        } 
        echo utf8_encode($oppai_count . ' : Download...' . $img_url . "\n");
        $img = file_get_contents($img_url); //画像ダウンロード
        file_put_contents($filepath, $img);
        if (!preg_match('/image/m', $http_response_header[2])) { // 画像で無い場合
//            unlink($filepath);
        } 
    } 
    $page_count++;
} 
?>

 
コマンドラインから $ php ./getdanmitsu.php と入力してしばらく待ち画像を集ます。
 
画像が集まったら処理がしやすいようにダウンロードしたファイルのファイル名を通し番号に変更します。
 

#!/bin/sh
cnt=0
files="/hogehoge/data/*.jpg"
for filepath in ${files}
 
do
 cnt=`expr $cnt + 1`
 filename=`basename ${filepath} .jpg`
 
 echo ${filename}
 workname=`basename $filepath`
 
 echo $workname
 echo $cnt
 
 mv $workname  $cnt'.jpg'
 
done

danmitsu
 
画像を綺麗に並べるために、Automatic Image Montage with jQuery を使いました。
画像表示におすすめのjQueryです。

<div id="montage_overlay" class="paddingspacer2">
                <div class="am-container" id="am-container">
 
                                <a href="#"><img src="data/1.jpg"></img></a>
                                <a href="#"><img src="data/480.jpg"></img></a>
                                <a href="#"><img src="data/3.jpg"></img></a>
                                <a href="#"><img src="data/4.jpg"></img></a>
                                <a href="#"><img src="data/5.jpg"></img></a>
                                <a href="#"><img src="data/6.jpg"></img></a>
                                <a href="#"><img src="data/7.jpg"></img></a>
                                <a href="#"><img src="data/8.jpg"></img></a>
                                <a href="#"><img src="data/9.jpg"></img></a>
                                <a href="#"><img src="data/10.jpg"></img></a>
                                <a href="#"><img src="data/444.jpg"></img></a>
                                <a href="#"><img src="data/12.jpg"></img></a>
                                <a href="#"><img src="data/13.jpg"></img></a>
                                <a href="#"><img src="data/456.jpg"></img></a>
                                <a href="#"><img src="data/15.jpg"></img></a>
                                <a href="#"><img src="data/16.jpg"></img></a>
                                <a href="#"><img src="data/17.jpg"></img></a>
                                <a href="#"><img src="data/18.jpg"></img></a>
                                <a href="#"><img src="data/19.jpg"></img></a>
                                <a href="#"><img src="data/20.jpg"></img></a>
                                <a href="#"><img src="data/21.jpg"></img></a>
                                <a href="#"><img src="data/22.jpg"></img></a>
                                <a href="#"><img src="data/23.jpg"></img></a>
                                <a href="#"><img src="data/263.jpg"></img></a>
                                <a href="#"><img src="data/211.jpg"></img></a>
                                <a href="#"><img src="data/299.jpg"></img></a>
                                <a href="#"><img src="data/288.jpg"></img></a>
                                <a href="#"><img src="data/295.jpg"></img></a>
                                <a href="#"><img src="data/368.jpg"></img></a>
 
                </div>
                <div id="loadmore2" class="siteusemorebox">
                    <a href="#" class="loadmore" id="2">View more media</a>
                </div>              
            </div>
 
            <div class="clearboth"></div>
            <script type="text/javascript" src="./js/jquery.montage.min.js"></script>
            <script language="javascript1.1">
                window.media_more_script = '/ajax_results.cfm?rpp=6&ajax_type=my_group_photos&eventid=37&media_type=1&myscript=%2Findex%2Ecfm%2Fleague%2F23%2Faction%2Fdashboard%2Fcontent%5Faction%2Fevents%2Feventid%2F37%2Fevent%5Faction%2Fphotos';
            </script>                       
            <script type="text/javascript">
                $(function() {
                    var $container  = $('#am-container'),
                        $imgs       = $container.find('img').hide(),
                        totalImgs   = $imgs.length,
                        cnt         = 0;
 
                    $imgs.each(function(i) {
                        var $img    = $(this);
                        $('<img/>').load(function() {
                            ++cnt;
                            if( cnt === totalImgs ) {
                                $imgs.show();
                                $container.montage({
                                    minw : 150,
                                    alternateHeight : true,
                                    alternateHeightRange : {
                                        min : 150,
                                        max : 350
                                    },
                                    margin : 3,
                                    fillLastRow : true
                                });
 
                                /* 
                                 * just for this demo:
                                 */
                                $('#montage_overlay').fadeIn(500);
 
                                $(document).on("click",'.loadmore',function()                               
                                    {
                                    var ID = $(this).attr("id");
                                    var myscript3 = window.media_more_script || null;                       
                                    if(ID)
                                        {
                                        $("#loadmore"+ID).html('<img src="/images/processing.gif" />');                 
                                        $.ajax({
                                        type: "POST",
                                        url: myscript3,
                                        data: "lastmsg="+ ID, 
                                        cache: false,
                                        success: function(html){$container.append(html).montage( 'add',html);}
                                        });
                                        }
                                    else
                                        {
                                        $(".siteusemorebox").html('No more records.');
                                        }               
                                    return false;
                                }); 
 
 
                            }
                        }).attr('src',$img.attr('src'));
                    }); 
 
                });
            </script>

danmitsu2

-- 広告 -- -- 広告 --

 

  PHP入門 

この記事に関連する記事一覧

アフィリエイトで稼ぐ
プロフィール

ぴよふぁくとりぃです。

職業は自宅でサーバ管理、資格は薬剤師です。
趣味も職業もパソコンラブです。
よろしくね。
連絡先: admin@arakanoj.com
URL: http://piyofactory.com

検索
人気ページ
東京電力予想最大電力(万kW)
twitter
使い方を知れば知るほど楽しく使える Linux。
Linux の基本を覚えてもっともっと楽しいコンピュータの使い方を身につけましょう。