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;
