MW211 EXIT

devlog
PEAR/インストール手順まとめ
2013年10月11日
インストールには、直接インストールコマンドを実行して
一気通貫でやってしまうタイプと、一旦ダウンロードしてから、
インストールするタイプがある。
一旦ダウンロードして行うタイプだと、オフラインでインストールができる。
#インストーラ入手はオンラインだが
┌────────────┬────────────┬────────────┐
│                        │        PEAR本体        │        PEAR部品        │
├────────────┼────────────┼────────────┤
│ネット上からインストール│go-pear.bat             │pear install 部品       │
├────────────┼────────────┼────────────┤
│ネット上からダウンロード│pear download pear      │pear download 部品      │
├────────────┼────────────┼────────────┤
│ファイルからインストール│         (不明)         │pear install ファイル   │
├────────────┼────────────┼────────────┤
│アンインストール        │pear uninstall pear     │pear uninstall 部品     │
├────────────┼────────────┼────────────┤
│インストール状況確認    │pear help               │pear list               │
└────────────┴────────────┴────────────┘
PEAR本体は「PEAR-1.9.4.tgz」みたいな形でダウンロードでき
gzip形式なので中身も見れるのだが(インストール後のフォルダ構成っぽい)、
そのままコピーしてもインストールは完了しないっぽい(実際にはやってない)。
分類:PEAR
PEAR/インストール物件を確保
2013年10月09日
┌──────────────────────────────────────┐
│pear download-all                                                           │
└──────────────────────────────────────┘
を実行すれば、インストール物件を(取得できるものだけ)全部ダウンロードできる。
分類:PEAR
PEAR/Archive_Zipのインストールまとめ
2013年09月10日
【ネット上からインストールする場合】
┌──────────────────────────────────────┐
│C:\Program Files\PHP>pear install Archive_Zip-beta                          │
├──────────────────────────────────────┤
│WARNING: "pear/Archive_Zip" is deprecated in favor of "pecl/zip"            │
│downloading Archive_Zip-0.1.2.tgz ...                                       │
│Starting to download Archive_Zip-0.1.2.tgz (19,213 bytes)                   │
│......done: 19,213 bytes                                                    │
│install ok: channel://pear.php.net/Archive_Zip-0.1.2                        │
└──────────────────────────────────────┘
【ネット上からダウンロードする場合】
┌──────────────────────────────────────┐
│C:\Program Files\PHP>pear download Archive_Zip-beta                         │
├──────────────────────────────────────┤
│WARNING: "pear/Archive_Zip" is deprecated in favor of "pecl/zip"            │
│downloading Archive_Zip-0.1.2.tgz ...                                       │
│Starting to download Archive_Zip-0.1.2.tgz (19,213 bytes)                   │
│......done: 19,213 bytes                                                    │
│File C:\Program Files\PHP\Archive_Zip-0.1.2.tgz downloaded                  │
└──────────────────────────────────────┘
【ダウンロードしたものからインストールする場合】
┌──────────────────────────────────────┐
│C:\Program Files\PHP>pear install Archive_Zip-0.1.2.tgz                     │
├──────────────────────────────────────┤
│WARNING: "pear/Archive_Zip" is deprecated in favor of "pecl/zip"            │
│downloading Archive_Zip-0.1.2.tgz ...                                       │
│Starting to download Archive_Zip-0.1.2.tgz (19,213 bytes)                   │
│......done: 19,213 bytes                                                    │
│install ok: channel://pear.php.net/Archive_Zip-0.1.2                        │
└──────────────────────────────────────┘
【アンインストールする場合】
┌──────────────────────────────────────┐
│C:\Program Files\PHP>pear uninstall Archive_Zip-beta                        │
├──────────────────────────────────────┤
│uninstall ok: channel://pear.php.net/Archive_Zip-0.1.2                      │
└──────────────────────────────────────┘
【インストール状況を確認する場合】
┌──────────────────────────────────────┐
│C:\Program Files\PHP>pear list                                              │
├──────────────────────────────────────┤
│INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:                                   │
│=========================================                                   │
│PACKAGE          VERSION STATE                                              │
│Archive_Zip      0.1.2   beta                                               │
└──────────────────────────────────────┘
分類:PEAR
PHP/PEARのArchive_Zip(2)
2011年12月03日
実行ファイル(例えば「index.php」など)から、
配下をすべてディレクトリごとまとめてくれるので、便利といえば便利なのだが、
途中に余計なパスが混じってると余計だ
┌──────────────────────────────────────┐
│├index.php                                                                 │
│└余計なディレクトリ                                                        │
│  └余計なディレクトリ                                                      │
│    └(ここから)圧縮したいディレクトリ                                      │
│      └サブディレクトリ                                                    │
│        └data.dat                                                          │
└──────────────────────────────────────┘
圧縮したいディレクトリ以降のみを圧縮したい場合、どうすればいいのか?

答えは簡単。
そこへ移動してから、create()メソッドを実行してあげればよい。

移動する方法とは?
チェンジディレクトリ(chdir)だ。
いわゆるコンソールで打つコマンドだが、PHPでも関数として実行することができる。

こんな感じ。
┌──────────────────────────────────────┐
│chdir(圧縮したいディレクトリ);                                              │
└──────────────────────────────────────┘
分類:PEAR
PHP/PEARのArchive_Zip(1)
2011年12月02日
現時点ではベータ版なので仕様がよくわからない。

判明していること。
create()メソッドで指定できるのは、ローカルファイルのみ。
URI指定じゃ無理みたい。
×$newArchiveZip->create('http://…/ooo1.htm');

なので、URI指定の場合はローカルにもってくる必要がある。
┌──────────────────────────────────────┐
│if (!file_exists($ディレクトリパス)) {                                      │
│  mkdir($ディレクトリパス);                                                 │
│}                                                                           │
└──────────────────────────────────────┘
まずは、こんな感じでディレクトリを再現してあげて
┌──────────────────────────────────────┐
│if ($handle = fopen($コピー元, 'rb')) {                                     │
│  $content = stream_get_contents($handle);                                  │
│  fclose($handle);                                                          │
│  file_put_contents($コピー先, $content);                                   │
│}                                                                           │
└──────────────────────────────────────┘
こんな感じで、コピーする(この時、コピー元がURIになる)。
その結果を、create()で圧縮してあげればよい。
分類:PEAR
PHP/ZIPファイルに圧縮してダウンロード
2011年10月03日
「PEAR」の「Archive_Zip」が実装されていることが前提条件。
┌──────────────────────────────────────┐
│C:\xampp\php>pear list                                                      │
│INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:                                   │
│=========================================                                   │
│Archive_Zip                0.1.1       beta                                 │
└──────────────────────────────────────┘
「Archive_Zip」クラスの「create()」メソッドを使えば、
ZIPファイルが圧縮生成される。
┌──────────────────────────────────────┐
│// ZIPファイル生成                                                          │
│require_once('Archive/Zip.php');                                            │
│$zip_file = 'xxxx/xxxx.zip';                                                │
│$newArchiveZip = new Archive_Zip($zip_file);                                │
│$newArchiveZip->create('oooo/ooo1.txt','oooo/ooo2.txt',…);                 │
│// ダウンロード                                                             │
│header('Content-Disposition: attachment; filename="ダウンロードファイル名"'); 
│header('Content-Type: application/octet-stream');                           │
│header('Content-Length: '.filesize($zip_file));                             │
│readfile($zip_file);                                                        │
└──────────────────────────────────────┘
生成されるZIPファイルは「xxxx/xxxx.zip」、
圧縮されるファイルたちは「oooo/ooo1.txt」など(複数指定できる)
なお、「Content-Length:」はダウンロード時の進捗表示のために
全体サイズを指定している。
分類:PHP、PEAR
前へ 1 次へ