« 10月 2009 11月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 12月 »

  • PEARのインストール
  • 2009.11.21
  • 共用サーバー(使えるネット)でFTPを使用したPEARライブラリのインストール方法をまとめます。


    (1)http://pear.php.net/go-pearにアクセスして表示されたスクリプトをコピーしてgo-pear.php等の名前を付けてローカルに保存する。


    (2)ウェブサーバー上にgo-pear等、適当な名前のディレクトリを作成し、そこに先程保存したgo-pear.phpをアップロード。


    (3)第三者にアクセスされないよう、Basic認証でアクセス制限をかける。
    「.htaccess」 の内容
    # このフォルダーのアクセス制限 パスワードの設置
    AuthUserFile /var/www/vhosts/**********/httpdocs/go-pear/.htpasswd
    #制限をかけたいディレクトリ
    AuthGroupFile /dev/null
    AuthName “Please enter your ID and password
    AuthType Basic
    require valid-user


    「.htpasswd」 の内容
    ID:暗号化されたパスワード


    (4)PEARをインストールするディレクトリを作成し、そのディレクトリのパーミッションを777に変更。


    (5)ブラウザでgo-pear.phpにアクセス。


    pear1
    ここでは「Next」をクリック


    pear2

    1にPEARをインストールするパスを入力。
    使えるネットの場合は「/var/www/vhosts/ドメイン名/httpdocs/pear」


    11にPHPパスを入力。
    使えるネットの場合は「/usr/bin/php」


    全ての設定が終わったら「Install」をクリック。


    (6)include_pathを設定。
    共用サーバーではphp.iniを編集出来ないので、.htaccessで設定する。

    php_value include_path “.:/var/www/vhosts/ドメイン名/httpdocs/pear”

    php_value include_path “.:/var/www/vhosts/ドメイン名/httpdocs/pear”

【この記事のタグ】
,
  • 複数のRSSを統合し最新情報を取得する
  • 2009.11.19
  • 複数のサイトのRSSを受信し、その中の記事を日付の新しい順に何件か表示する場合、最初にRSSを一つにまとめるか、個別にRSSを受信し、その後統合、ソートとするかだと思いますが、今回はPHPで複数RSSを表示するプログラムを後者の方法で行なってみました。


    PHP用のRSS パーサにはMagpieRSSというものを使用しました。


    以下、プログラムソースです。
    ※カッコが全角になっているので、そのままコピペして使用しないでください。


    <?
    require_once(’./includes/magpierss/rss_fetch.inc’);  //MagpieRSSロード
    define(’MAGPIE_OUTPUT_ENCODING’, ‘UTF-8′);

    //読み込むRSSを配列に格納
    $rssUrl=array(”http://www.abc1.com/feed“,
      ”http://www.abc2.com/feed.rdf“,
      ”http://www.abc3.com/index.rdf“,
      ”http://www.abc4.com/rss.xml
     );

    //表示する記事の件数
    $num=5;

    $HTMLbody =”";

    foreach ($rssUrl as $no => $rss_url) {
     if ($rss_url != ”) {
      //URLからRSSを取得
      $rss   = @fetch_rss($rss_url);
      if ($rss != NULL) {
       for ($i=0; $i<count($rss->items); $i++) {
        //サイトのタイトルをitemsに格納
        $rss->items[$i]["site_title"] = $rss->channel["title"];
       }
       //itemsだけ別配列に格納
       $rssItemsArray[] = $rss->items;
      }
     }
    }

    $concatArray = array();
    if (is_array($rssItemsArray)) {
     for($i=0;$i<count($rssItemsArray);$i++){
      //配列を統合する
      $concatArray = array_merge($concatArray,$rssItemsArray[$i]);
     }

     foreach ($concatArray as $no => $values) {
      $date=$values["date_timestamp"];
      $title=$values["title"];
      $link=$values["link"];
      $site_title=$values["site_title"];
      //記事ごとに必要な項目を抽出
      $rssArray[]=array($date, $title, $link, $site_title);
     }

     //配列をユーザー定義関数でソート
     if ($rssArray) { usort($rssArray, ‘cmp’); }
     if (count($rssArray) > $num) {
      $count=$num;
     } else {
      $count=count($rssArray);
     }

     //必要な件数分だけHTML整形
     for ($i=0; $i<$count; $i++) {
      $date=date(”Y-m-d H:i”,$rssArray[$i][0]);
      $link=$rssArray[$i][2];
      $title=$rssArray[$i][1];
      $site_title=$rssArray[$i][3];
      $HTMLbody .=$site_title.”【”.$date.”】<a href=\”".$link.”\” target=\”_blank\”>”.$title.”</a><br />\n”;
     }
     
    }

     //=======================================================
     // 多次元配列ソート用比較関数
     // この場合は配列の1番目の項目を降順にソート
     //=======================================================
     function cmp($a, $b) {
      if ($a[0] == $b[0]) return 0;
      return ($a[0] > $b[0]) ? -1 : 1;
     }
    ?>
    <?php echo ‘<?xml version=”1.0″ encoding=”UTF-8″ ?>’.”\n” ?>
    <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
      “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
    <html xmlns=”http://www.w3.org/1999/xhtml”>
    <head>
    <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
    <title>test</title>
    </head>
    <body>
    <?= $HTMLbody ?>
    </body>
    </html>


    複数のRSSを処理すると、かなり遅いです。
    試しに、perlでRSSを統合するプログラムも制作しましたが、こちらもそれなりのお時間がかかりました・・・ :shock:


    改善策をご存知の方は、是非コメントください。


    ホームページ制作・WEBシステム開発

【この記事のタグ】
, ,
  • ドライブ旅行
  • 2009.11.14
  • 新車を購入したので、秋も深まり紅葉とグルメとドライブを兼ねて、新潟県の湯沢まで1泊旅行に行ってきました。
    かなり昔、頻繁にスキーに行ってた頃食べたうどんすきがまた食べたくなって湯沢に決めました。
    この時期の湯沢はスキーシーズン前ということもあって閑散としてましたが、ゆっくり食事と温泉にも入れ久々に羽を伸ばせました。
    早速初日のランチでうどんすきで有名な森瀧というお店に直行しました。


    まずは舞茸の天ぷら まずは舞茸の天ぷら


    今回の目的の一つ、うどんすき 今回の目的の一つうどんすき


    新潟は米どころということで、日本酒も有名です。
    街中にはこんな人や


    drunk1


    こんな人が・・・


    drunk2


    ってこれは「ぽんしゅ館」にある人形でした。 :lol:
    ぽんしゅ館は新潟県内の日本酒各種が試飲できるお酒好きには嬉しい観光スポットです。


    私も夜は、近くのBARに繰り出し・・・


    bar



    ってこれ人形じゃん ;-)


    これは近くにレトロな雰囲気を体験できるところがあってミゼットやキャロル等の昔の車が展示してあったり昔懐かしいおもちゃやレコードまでいろいろあり童心に帰りました。


    yuzawa


    tabaco


    あっそうそう、今回の一番の目的のドライブですが、これが私の新しい愛車です。


    インプレッサ IMPREZA
  • ホームページ制作(松戸)
  • 2009.11.06
  • 本日は地元松戸にある不動産会社様のホームページ制作のお仕事を受注いたしました。
    このサイトは、計算する項目が多くJavascriptを多用する予定です。
    プログラム保護という面ではPHPの方が良いと思いますので、操作性が悪くなければPHPで開発するかも知れませんが・・・
    Javascriptの利点の一つには様々なイベントで処理を行なえるという点があると思います。
    PHPやPerl等のプログラムではGETかPOSTで値をサーバーに送らないと処理できませんが、Javascriptの場合、マウスをクリックした時、フォームの項目にフォーカスがあたった時、あるいはフォーカスが外れた時等、クライアントサイドで即座に処理を行なうことができるので、使いやすさを向上させることが出来ます。
    今回の案件はこれから設計をしますが、ユーザビリティや安全性を考えるとどう処理したらベストかは悩みどころです。


    ホームページ制作・WEBシステム開発

【この記事のタグ】
, ,
  • 新横浜にて
  • 2009.11.04
  • 今日は、新規のお客様との打ち合わせのため、新横浜まで行ってきました。
    うちから新横浜までとなるとちょっとした旅行です。
    ということで、駅に新幹線が止まってたので、写メを撮ってみました。 :mrgreen:



    新横浜駅の新幹線

    新横浜駅停車中の新幹線


    今回の案件は受注出来ればGoogle Maps APIをフルに使ったサイトになります。
    受注出来たら、この案件で行ったGoogle Maps APIのカスタマイズをご紹介致します。


    ホームページ制作・WEBシステム開発

Page Top