2007.08.01

Category: PHP / Tags:

php namazu のモジュールのありか

とりあえず、今日時点で、下記URLに存在します。
http://sourceforge.jp/projects/php-i18n/

2006.12.13

Category: JavaScript / Tags:

JavaScript と flash の連携 その2

flash player 8 以上から外部API経由で連動できるから
そちらを利用したほうがいいかも
外部APIを使用したFlashとJavaScriptの接続
http://sdc.shockwave.com/jp/devnet/flash/articles/external_interface.html
とりあえず、実験は今度してみます。

2006.12.02

Category: JavaScript / Tags:

JavaScript と flash の連携

flashとjavascriptの連携
(Flash / JavaScript Integration Kit の使い方)
FlashとHTMLをjavaScriptを介して連動します。
「JavaScript Integration Kit」
http://weblogs.macromedia.com/flashjavascript/
■ サンプルファイル━━━━━━━━━━━━━━━━━━━
http://www.itm.ne.jp/flash_test/flash_test.zip
http://www.itm.ne.jp/flash_test/index.html
に今回制作した一式(flaファイルなど)をおいています。
■ 参考━━━━━━━━━━━━━━━━━━━━━━━━
http://yoshiweb.net/blog/?itemid=106
■ 環境━━━━━━━━━━━━━━━━━━━━━━━━
 今回、flash8 Pro(試供版)でつくってます。
 動作は
 windows
  firefox 1.5.0.8
  IE 6.0
  Opera 9.0.2
 で確認しています。
■ 動作内容━━━━━━━━━━━━━━━━━━━━━━
今回の実装
イメージタグにマウスオーバーされたときに、
flashの関数を呼び出し、指定のフレームから再生する。
■ 下準備━━━━━━━━━━━━━━━━━━━━━━━━
●1.「FlashJavascriptGateway」の取得
「JavaScript Integration Kit」
http://weblogs.macromedia.com/flashjavascript/
から、
「FlashJavascriptGateway.zip」を取得します。
「Download the latest release of the Flash / JavaScript Integration Kit.」
からダウンロード
zipの中身は
—————————————-ここから

docs
license.txt
readme.html
installation
JavaScriptFlashGateway.js
JavaScriptFlashGateway.swf
source
flash
actionscript
com
macromedia
javascript
JavaScriptProxy.as
JavaScriptSerializer.as
gateway
JavaScriptFlashGateway.as
JavaScriptFlashGateway.fla
JavaScriptFlashGateway.swf
javascript
Exception.js
FlashProxy.js
FlashSerializer.js
FlashTag.js

—————————————-ここまで
となっている。
●2. 作業フォルダの作成
—————————————-ここから

flash_test
JavaScriptFlashGateway.js(JavaScript Integration Kit)
JavascriptFlashGateway.swf(JavaScript Integration Kit)
javascript2flash.fla(新規作成)
javascript2flash.swf(javascript2flash.flaから生成)
index.html(新規作成)
images
logo.gif(新規作成)
com
macromedia
javascript
JavaScriptProxy.as(JavaScript Integration Kit)
JavaScriptSerializer.as(JavaScript Integration Kit)

—————————————-ここまで
の構成でおこないます。
JavaScriptFlashGateway.js
JavascriptFlashGateway.swf
は、
「FlashJavascriptGateway/installation」 フォルダ
comフォルダ以下は
「source/flash/actionscript」フォルダ
以下になります。
最終的な公開には、
—————————————-ここから

flash_test
JavaScriptFlashGateway.js
JavascriptFlashGateway.swf
javascript2flash.swf
index.html
images
logo.gif

だけになります。
—————————————-ここまで
●3.文字コードの修正
JavaScriptProxy.as
JavaScriptSerializer.as
  がBOM付のUTF8でないと後々エラーがでるので先に変換しておきます。
–おまけ解説
「import com.macromedia.javascript.JavaScriptProxy;」で
「 ‘com.macromedia.javascript.JavaScriptProxy’ がロードされませんでした。」
のエラーが出てしまいます。
これを回避するために、unicode(BOM付)で保存してあげるとの事。
とりあえず、お手持ちのテキストエティターでUTF8に保存してあげてためしてください。
私は、「dana」でUTF8に保存しなおしてあげたら上手くいきました。

■ 実作業━━━━━━━━━━━━━━━━━━━━━━━━
●1. JavaScriptProxy.as JavaScriptSerializer.as の取り込みスクリプトを記載
「javascript2flash.fla」に
– ここから

import com.macromedia.javascript.JavaScriptProxy;
var proxy:JavaScriptProxy = new JavaScriptProxy(_root.lcId, this);

– ここまで
を記載
●2. HTML から実行する functon を作ります。
「javascript2flash.fla」に
– ここから

function viewImage(image) {
switch( image ){
case 1 :
gotoAndStop(40);
break ;
case 2 :
gotoAndStop(50);
break ;
case 3 :
gotoAndStop(60);
break;
}
}

– ここまで
のjavaScrpitからの制御を入れました。
●3.swfファイルの作成
javascript2flash.fla をパブリッシュして javascript2flash.swf
を作成
●4.index.html のJavascriptを編集
サンプルを
http://www.itm.ne.jp/flash_test/index.html
においています。そちらのソースで確認ください。
■ 注意点━━━━━━━━━━━━━━━━━━━━
今回、日本語を引数として通していません。日本語を通すと文字化けするとの
 情報があるので、スクリプトの変更が必要みたいです。
■ JavaScript Integration Kitの実装━━━━━━━━━━━━━
JavaScriptFlashGateway.js
 HTMLとFlashのつなぎのJavascriptです。
JavaScriptFlashGateway.swf
 実装として、#include “JavaScriptFlashGateway.as”だけをしているファイル
データの流れは、
1.HTML->
2.javascript(イベント等) ->
3.JavaScriptFlashGateway.js ->
4.JavaScriptFlashGateway.swf ->
5.作ったflash(swf)
の順番になります。(とおもう。。)
■ 各種マニュアル━━━━━━━━━━━━━━━━━━━━
JavaScriptFlashGateway.js とかのメソットのマニュアルは
おいおい書きます。(気が向いたら)

2006.08.19

Category: PHP / Tags:

.htaccess での phpの設定

.htaccess でPHPの設定を変更する場合の書式は
php_flag と php_value を使う方法があります。
前者は、true or false (On or Off) の場合に利用して
後者は、設定値がある場合に利用します。

<IfModule mod_php4.c>
php_flag display_errors On
php_value include_path “.:/var/www/vhosts/www.hoge.com/html/php”
</IfModule>

の感じになります。

2006.08.18

Category: PHP / Tags:

Pear の Imagesライブラリー

Image_Graph あたりの、ものが利用できるか試してみたけど。
とりあえず、結論。
日本語が通らない。うん。たぶん。
というわけで、利用するのは難しいと思う。。

PHPのコメントの書式 -Zend Frameworks phpDocumentor にのっとって

詳しくは、Zend Frameworks のPHP の書式
http://framework.zend.com/manual/ja/coding-standard.coding-style.html
に基本的にしたがっていったほうがよさげ
とりあえず、関数(function)の書式だけメモ

/**
* 説明○○を○○に変換する関数
* @access public なくてOK 関数宣言でわかるから。
* @param string $str 引数の説明
* @return string 返値の説明
* @throws exceptionclass [description]  関数/メソッドが例外をスローする場合に記載
*/

function getFunction($str, $flag)
{
// ここに処理
return $val ;
}
型の所は

string
integer
object
array
mixed(いろんな型が返る場合)
resource(リソース型)
boolean
void(返値なし)

などあります、
@accessは、

public
private
protected

ですが、実際は書かなくてOKなので、特に気にする必要はないでしょう。
ちなみに、classの説明は

/**
* クラスについての短い説明
*
* クラスについての長い説明 (もしあれば)…
*
* @copyright 2005 Zend Technologies //著作権
* @license http://www.zend.com/license/3_0.txt PHP License 3.0 //ライセンス
* @version Release: @package_version@ //version
* @link http://dev.zend.com/package/PackageName // link
* @since Class available since Release 1.2.0 //since
* @deprecated Class deprecated in Release 2.0.0 //deprecated
*/

ほかに

@package パッケージ名
@author 著作者 <著作者メール>

とかあってもいいかも

2006.08.07

Category: PHP / Tags:

defined — 指定した名前の定数が存在するかどうかを調べる

defined — 指定した名前の定数が存在するかどうかを調べる。

if(! defined(”HOGEFUGA”) ){ // ”(ダブルコーテーションで囲む必要あり)
difine(”HOGEFUGA”, true);
}

と、エラーなく定義してあげる事ができます。
あまりしすぎると、スパゲティーソースになりそうなのでしたくないのですが、
拡張で定数を定義の追加が必要なとき、ちょっと便利かも

2006.08.03

Category: PHP / Tags:

phpをバックグラウンドで処理をする場合[forkの代用]

1.system関数やexec関数などを使います。
2.結果のリダイレクト先を指定
3.最後に&をつけて、バックグラウンドで実行
以上を守って行います。
/tmp/bg.php
を、バックグラウンドで実行したい場合(bg.phpには、実行権限がついているものとする)

system(”/tmp/bg.php > /dev/null &”)

2の結果のリダイレクトの部分は > /dev/null . この場合は破棄する(ゴミ箱にすてる)になります。
3のバックグラウンドで実行のところは 最後の & の部分になります。(unixの仕組みです)

2006.08.02

Category: PHP / Tags:

pukiwiki – menuのカスタマイズ

pukiwiki で、メニューを修正したい場合、はじめ悩むかもしれない。
(僕はどうするのかなやんでしまった。)

pukiwiki.php?cmd=edit&page=MenuBar

のように、MenuBarを対象にエディット画面を開くとメニュー部分を編集
できるようになります。
編集時、
&edit(MenuBar,noicon){edit};
と記載しておくと次から、メニューバーの編集へのリンクができます。
menubarから、それぞれのページにリンクをはるのは
- [[PageName]]
と通常通りにリンクを張るしかないみたいです。(未確定)

2006.08.02

Category: PHP, PostgreSQL / Tags:

addslashes()ではなくpg_escape_string()を使おう

addslashesも、pg_escape_stringも文字列をエスケープさせる関数であるが、
postgreSQLに、データを流し込む(sqlを作成する)場合は、
addslashesでなく、pg_escape_stringを使うこと。
詳しいことは面倒なので
http://itpro.nikkeibp.co.jp/article/COLUMN/20060530/239359/?ST=lin-server&P=3
で確認してほしい。
要は、エスケープの方法が違うので、pg_escape_stringのほうが安全ということです。
ちなみに、postgreSQLをより安全に使うためには、
フロントエンドとバックエンドの文字コードは合わせておいたほうがいいみたいです。
つまりは、SJISは利用するなって事です。

« Older Entries   Newer Entries »