SQLの窓

2013年11月03日

Pear のインストール

posted by at 2013-11-03 03:07 | PHP+Pear | このブログの読者になる | 更新情報をチェックする

2009年12月21日

PHP:Pearを使って動的にファイルセットを作ってzipでダウンロードさせる方法

通常は、Pear で必要なファイルを配置するのが面倒だと思うので、
必要なものだけをまとめてサンプル付きでダウンロードできるようにしました。


PHP : Pear 同梱ですぐ使える、動的に ZIP 書庫をダウンロードさせるサンプル


必要な Pear ライブラリは、 PHP License 3.0 と LGPL でした。
サンプルコードでそのまま殆どの場面で利用できると思います。

<?
// *********************************************************
// Pear ライブリを使用する為に、include パスを設定し、
// 必要なライブラリを読み込む
// *********************************************************
set_include_path( ".".PATH_SEPARATOR."../pear" );
require_once "File/Archive.php";

// 日本語処理の為に内部エンコードを明示設定
mb_language( "ja" );
mb_internal_encoding("EUC-JP");

// Pear ライブラリを含める
$files = array(
	 "../pear"
);

// ダウンロード用アーカイブを決定
$zip = File_Archive::toArchive(
	"zip_sample.zip",
	File_Archive::toOutput()
);

// このファイル自身を追加する
$files[] = "./zip_download.php";


// shift_jis に変換したファイルを追加する
// 為のエントリを追加
$zip->newFile("zip_download_sjis.php");

// 元データを取得
$txt = file_get_contents( "./zip_download.php" );
// shift_jis に変換
$txt = mb_convert_encoding (
	$txt,
	"shift_jis",
	"euc-jp" );
// エントリに書き込む
$zip->writeData( $txt ); 

// zip 書庫として出力
File_Archive::extract( 
	$files, $zip
); 

?>


ファイル化はリンク先にあるドキュメントのリンクから情報を比較的容易に取得できると思います。





posted by at 2009-12-21 16:28 | PHP+Pear | このブログの読者になる | 更新情報をチェックする

2008年07月05日

【PHP】Pearでメール送信する為の全ての情報



実際に使う事になったので、以前に作ってあったサンプルコードに
いろいろ情報を追加して、実際に実装できるようにしたつもりです。


けっこういろいろありましたです。

まず、Pear を最新にアップデート すると・・・

Net_SMTP の最新は、2008-04-24 で結構最近。
古いコードと 行単位で比べる とかなり変わってました。
そして、以前より問題のあった部分が使えるようになってたり。

実装サンプルを作るのに、関数化して CC と BCC に対応して
land.to にのっけてテストしたら、Pear の一部で 警告でたり。
( /dev/urandom 等のアクセス時の権限の問題らしい )

で、警告でてるけど、動いてるからコメントに。


CC やら BCC で持ってるアドレスに送信してテストして、
ヘッダー情報の確認。特に問題は無かったのだけれど、

何故か、gmail で「迷惑メール」扱い。

たぶん、宛先の日本語部分のせいのような気もするのだけれど、
そんなもん調べてられないので無視。
ただ、その時に、メーラを主張するヘッダーを追加。

で、たぶん Pear のどのファイルが必要なのか解らない人も
居るだろうと、最低限を lzh に固めてリンクを貼りました。


それと、このテストで解ったのだけれど、
件名に長い日本語と半角の混じったメールをあちらこちらのメーラで送ったら、
結構適当な対応している事が解りました。

改行が入って無いのなんてかわいいほうで、 
ひどいのになると、送れなかったり(笑)

どれも、けっこうマトモなメーラ・WEBメーラなんですけどね・・・








posted by at 2008-07-05 19:03 | PHP+Pear | このブログの読者になる | 更新情報をチェックする

2008年03月04日

PEARでグラフ画像と内部事情



http://winofsql.jp/php/codeget/php_getter.php?id=7634


コードパッケージを整備するにあたって、内部コードにいろいろありました。

そもそも、円グラフの凡例の出ないバグの対処方法をひさびさに調査して
みつけて、(http://pear.php.net/bugs/bug.php?id=8055)
あらためてコードを整備。

すると、以下のような内容も。

Canvas.php で ブラウザのキャッシュを無効にする為に HTTP ヘッダ
をいくつか設定しています

header('Expires: Tue, 2 Jul 1974 17:41:00 GMT'); // Date in the past
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header('Cache-Control: no-cache, must-revalidate'); // HTTP/1.1
header('Pragma: no-cache');

3つめの設定では、IE6で 右クリックで画像保存しようとすると、
BMP で「無題」となりました。必ずしも良い設定ではありません。

後、実際の実行に支障無いようですが、
HTTP ヘッダの記述がおかしい。

'...; filename = \"'. basename($_SERVER['PHP_SELF'], '.php') . '.png\"'

と、シングルクオートの中で、エスケープ書いてまして、
そのまま HTTP ヘッダに送られます。
( PNG.php と JPG.php )



ま、小ネタですけど。





posted by at 2008-03-04 11:22 | PHP+Pear | このブログの読者になる | 更新情報をチェックする

2006年12月05日

リコンパイルPEARマニュアル

 


オリジナルは、右クリックで専用ポップアップメニューが出るのでそれを無効にして、
例によって、Windows のメニューバーを表示するようにして、オリジナルのメニュー
を少しだけ HOME で表示させるようにしています






 

posted by at 2006-12-05 16:56 | PHP+Pear | このブログの読者になる | 更新情報をチェックする

2006年12月01日

PEARでグラフ画像作成

↓ライブラリとサンプルを一つにまとめたものです。( フォントは自分で用意して下さい)



↓この画像は実際に上記ファイルで出力しているものです。






↓詳細はこちら
http://winofsql.jp/VA003334/phpVarious061201230241.htm


posted by at 2006-12-01 23:20 | PHP+Pear | このブログの読者になる | 更新情報をチェックする

PEARのMailパッケージによるメール送信

ほんとに pear.bat でインストールするとろくな事が無いです。
今回、偶然以前に動くコードで試していたので事なきを得ましたが、
でなきゃ、こんな原因解るわけ無いです

code: 535, response: 5.7.0 authentication failed

↓その事情と実行可能なコードサンプル
http://winofsql.jp/VA003334/phpVarious061201164943.htm



posted by at 2006-12-01 17:10 | PHP+Pear | このブログの読者になる | 更新情報をチェックする

PEARで簡易メール受信

モジュールでは、IMAP、POP3 および NNTP 関数 というのがありますが、
レンタルサーバー側でインストールされる事は無いとおもわれるので、
PEAR で実装する事になると思います。

↓サンプルコード
http://winofsql.jp/VA003334/phpVarious061201133049.htm


posted by at 2006-12-01 13:48 | PHP+Pear | このブログの読者になる | 更新情報をチェックする

2006年11月25日

PHP+PEARでExcel処理

サーバーが Windows で無くても、Excel ファイルが作れてしまいます

実行ディレクトリおよびファイル構成


実行ディレクトリ
  PEAR.php
  test.php
  [OLE]
    OLE.php
    PPS.php
    [PPS]
      File.php
      Root.php

  [Spreadsheet]
    [Excel]
      Writer.php
      [Writer]
        BIFFwriter.php
        Format.php
        Parser.php
        Validator.php
        Workbook.php
        Worksheet.php

  [Structures]
    DataGrid.php
    [DataGrid]
      Column.php
      DataSource.php
      Renderer.php
      XLS.php


test.php

ダウンロード

Excel Writer
http://pear.php.net/package/Spreadsheet_Excel_Writer

Structures_DataGrid
http://pear.php.net/package/Structures_DataGrid/

Structures_DataGrid_Renderer_XLS
http://pear.php.net/package/Structures_DataGrid_Renderer_XLS/

OLE
http://pear.php.net/package/OLE

マニュアル
http://pear.php.net/manual/ja/package.fileformats.spreadsheet-excel-writer.php

チュートリアル
http://pear.php.net/manual/ja/package.fileformats.spreadsheet-excel-writer.intro-format.php



posted by at 2006-11-25 22:13 | PHP+Pear | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します


Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX