Php/ウィンドウズでphpのpearを使う
提供: 初心者エンジニアの簡易メモ
目次
- 1 参考サイト
- 2 インストール
- 3 dbライブラリインストール方法
- 4 http_clientライブラリインストール方法
- 5 HTML_QuickFormライブラリインストール方法
- 6 HTTP_Downloadライブラリインストール方法
- 7 Net_UserAgent_Mobileライブラリインストール方法(携帯判別ライブラリ)
- 8 フォルダ内のファイルのgrep検索
- 9 PhpDocumenterライブラリインストール方法
- 10 ログライブラリインストール方法
- 11 PEAR::Image_Transformのインストール方法
- 12 画像縮小サムネイル
- 13 正方形画像トリム&サムネイル
- 14 PEAR::Crypt_Blowfishのインストール方法
参考サイト
http://www.phpbook.jp/pear/index.html
インストール
Windows版のPHP5.2.0不具合あるため、以下ファイルをダウンロード
http://pear.php.net/go-pear.phar
このファイルをPHPをインストールしたディレクトリ内の「PEAR」ディレクトリ内に上書き保存
D:\php\PEAR\go-pear.phar
コマンドプロンプトより
D: D:\php>go-pear.bat; を実行
何も表示されない場合はエンターキーを6回押す。
php.ini確認
C:\WINDOWS\php.ini
↓が追加されていること
include_path=".;D:\php5\PEAR"
pear.ini確認
C:\WINDOWS\pear.ini
コマンド
コマンドプロンプトより
d: d:\php\pearを実行
-既にインストールされているライブラリ参照 pear list
-インストール方法 pear install [lib_name] (例:pear install db) インストールに必要なライブラリ全てインストールする場合は pear install -a 最小限のライブラリのみをインストールする場合は pear install -o
-アンインストール方法 pear uninstall [lib_name]
アパッチ再起動すると使用可能に
dbライブラリインストール方法
pear install db
ダウンロードファイル
DB.php DBディレクトリ
サンプル(mysqlへの接続)
<?php require_once 'DB.php'; //mysqlへの接続 //db名://dbuser:dbpass@dbhost/dbname; $dsn = 'mysql://root:pass@localhost/test'; $db = DB::connect($dsn); if (PEAR::isError($db)) { die($db->getMessage()); } print('ok<br>'); $sql = 'select * from t_test'; $res =& $db->query($sql); if (PEAR::isError($res)) { die($res->getMessage()); } while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { print($row['id']); print($row['name'].'<br>'); } $db->disconnect(); ?>
http_clientライブラリインストール方法
pear install http_client -a
ダウンロードファイル
HTTPディレクトリ
サンプル
<?php require_once "HTTP/Client.php"; $login_params = array("p" => "text","ei"=>"UTF-8"); $login_url = "http://search.yahoo.co.jp/search?fr=sfp_as&meta=vc%3D"; $client =& new HTTP_Client(); $client->post($login_url, $login_params); //$client->get($login_url); $response = $client->currentResponse(); print nl2br(print_r($response,1)); ?>
HTML_QuickFormライブラリインストール方法
pear install HTML_QuickForm -a
ダウンロードファイル
HTMLディレクトリ
HTTP_Downloadライブラリインストール方法
pear install -a HTTP_Download
donwload
HTTP/Download HTTP/Header HTTP/Download.php HTTP/Header.php
サンプル(できない?)
<?php require_once("HTTP/Download.php"); $params = array( "file" => "aaa.zip", "contenttype" => "application/zip" ); $download = new HTTP_Download($params); $download -> send(); //print nl2br(print_r($donwload,1)); ?>
Net_UserAgent_Mobileライブラリインストール方法(携帯判別ライブラリ)
pear install -f Net_UserAgent_Mobile
donwload
Net\UserAgentディレクトリ
サンプル
<?php include_once('Net/UserAgent/Mobile.php'); $agent = Net_UserAgent_Mobile::factory(); //型番の入手 $model = $agent->getModel(); if ($agent->isDoCoMo()) { echo("お使いの機種はDoCoMoの{$model}です。"); } else if ($agent->isVodafone()) { echo("お使いの機種はVodafoneの{$model}です。"); } else if ($agent->isEZweb()) { echo("お使いの機種はEZwebの{$model}です。"); } ?>
フォルダ内のファイルのgrep検索
pear install File_Find
サンプル
<?php require_once('./File/Find.php'); $items = &File_Find::glob($pattern, $dir, 'php'); ?>
PhpDocumenterライブラリインストール方法
- pear install --alldeps phpdocumentor
実行
# phpdoc -t ./doc -d ./test -o HTML:Smarty:PHP
文字化け回避
php-5.2.6\data\PhpDocumentor\phpDocumentor\Converters\HTML\Smarty\templates\HandS\templates\header.tpl php-5.2.6\data\PhpDocumentor\phpDocumentor\Converters\HTML\frames\templates\default\templates\header.tpl
の iso-8859-1をUTF-8などに変更
ログライブラリインストール方法
pear install Log
download
Log Log.php
<?php require_once "Log.php"; $log = Log::factory("file","d:\home\error.log","id1"); $log->log("ログ1", PEAR_LOG_NOTICE); ?>
PEAR::Image_Transformのインストール方法
pear install Image_Transform-0.9.3
download
Transform Transform.php
サンプル
$input_file = "sample.png"; $output_file = "sample_resize.jpg"; require_once 'Image/Transform.php'; $imgObj =& Image_Transform::factory('GD'); $imgObj->setOption('quality', 80); $imgObj->load($input_file); $width = $imgObj->getImageWidth(); // 幅の取得 $height = $imgObj->getImageHeight(); // 長さの取得 $imgObj->scaleMaxLength(240); // 縦横比を固定でリサイズ $result = $imgObj->save($output_file, 'jpg');
// 150px に縮小します //$it->scaleMaxLength(150); //$it->resize(300,300); // 縦横圧縮してリサイズ //$it->fit(400,400);//リサイズとの違いが不明 //$it->crop(300, 300);//トリム //$it->greyscale();//白黒化 //$it->mirror();//? //$it->addBorder();//gdで使えなかった //$it->gamma(0.5);//ガンマ値 //$it->rotate(45);//角度変更
画像縮小サムネイル
require_once 'Image/Transform.php'; $imgObj = Image_Transform::factory('GD'); $imgObj->load($output_file); $imgObj->scalebyPercentage(40); // 40%にリサイズ $result = $imgObj->save($output_file, 'jpg');
正方形画像トリム&サムネイル
require_once 'Image/Transform.php'; $imgObj = Image_Transform::factory('GD'); $imgObj->load($input_file); $width = $imgObj->getImageWidth(); // 幅の取得 $height = $imgObj->getImageHeight(); // 長さの取得 // 横幅のほうが長い if ($width > $height) { $imgObj->crop($height, $height, 0, floor($width / 2 - $height / 2)); // 縦幅のほうが長い } else { $imgObj->crop($width, $width, 0, floor($height / 2 - $width / 2)); } $result = $imgObj->save($output_file, 'jpg'); $imgObj->load($output_file); $imgObj->scaleMaxLength(240); // 縦横比を固定でリサイズ $result = $imgObj->save($output_file, 'jpg');
PEAR::Crypt_Blowfishのインストール方法
pear install Crypt_Blowfish
download
Crypt Crypt/Blowfish Crypt/Blowfish.php Crypt/CHAP.php
サンプル
require_once 'Crypt/Blowfish.php'; $key = '暗号キー1'; $value = '暗号化文字列1'; // Blowfishインスタンス生成 $blowfish = new Crypt_Blowfish($key); // 暗号化 $encrypt = $blowfish->encrypt($value); // 復号化 $decrypt = $blowfish->decrypt($encrypt); echo $decrypt;