logicalyze::blog

Archive for the ‘PHP’ Category

Adobe PHP SDKプロジェクト(非公式)

leave a comment

adobeAdobeMike Potter氏のブログによると非公式ながらAdobe PHP SDKと呼ばれる新しいプロジェクトがスタートしたようです。

Adobeがやってるので当然、自社のSpry framework for AjaxFlex2.0とPHPバックエンドシステムとの接続に特化したライブラリになっていて、ファイルにはサンプルも多数付属してるとのこと(未確認)。

もしかしてAMFPHP Projectに対抗???

Spry frameworkも、知らぬ間にバージョンナンバーが上がってますね(笑)
最新版は、「Spry framework for Ajax prerelease 1.3」です。

現在、Mike Potter氏のブログにてダウンロード可能です。

興味のある方はどうぞ!

■追伸(8/17)
この記事の直後にアップデート版がでたようなので要チェック!

Written by admin

8月 16th, 2006 at 1:16 pm

丸ごと読み書きする(PHP)

leave a comment

phpFlash(ActionScript)だけでは、データを保存することができないので、Perl、PHP、Ruby、Python等のいずれかのサーバースクリプトを利用することになります。

ここでは、PHPを使ったシンプルな読み書きをメモ用にまとめてみました。

一行ごとに処理する方法(汎用のFileManagerクラス等も存在する)もありますが、データ行数が少ない場合は個々のデータ処理をActionScript側で行い、POST送信された変数をPHPで丸ごと読み書きした方が簡単(ロジックがシンプル)です。

  • 丸ごと読み込む(エラー処理は省略) 場合によっては、”rb”にする
  • < ?php
    $fp=fopen("download.xml","r");
    $load=fread($fp,filesize ("download.xml"));
    print $load;
    fclose($fp);  
    ?>
    
  • 丸ごと書き込む(エラー処理は省略) 場合によっては、”wb”にする
  • < ?php
    $fp=fopen("download.xml","w"));
    $data =stripcslashes($HTTP_POST_VARS&#91;"send_data"&#93;);
    flock($fp,LOCK_EX);
    fwrite($fp,$data);
    flock($fp,LOCK_UN);
    fclose($fp);
    ?>
    

    「send_data」は、Flash側からPOST送信される変数名(プロパティ)。
    stripcslashes()関数は、送信された文字列をアンエスケープする(必要な場合)
    上記のサンプルではXMLデータをやり取りしてるので文字列内にシングルクォート(’)やダブルクォート(”)やバックスラッシュ(\)、ヌル文字を含む場合はActionScript側でエスケープする必要があるので、当然PHP側でアンエスケープする。

    Written by admin

    8月 11th, 2006 at 11:30 pm

    Posted in PHP

    Tagged with ,

    XAMPPで簡単サーバー構築

    leave a comment

    XAMPP自分のPCにWEBサーバー環境を構築しようと思うとあれやこれやのソフトウエアインストールや面倒な設定が必要だったりしますが今どきは設定無用の超簡単パッケージものが存在してます。

    以前はphpDevを使ったりしてましたがイマイチパッケージであることの優位点に乏しかったような気がしてます。おまけにアンインストールが大変だったような気が・・・

    今回、PHP5をやるために久々にサーバー環境を作ろうといろいろとパーケージものを探す中でXAMPPが同梱ソフトウエアの多さではダントツだったので使ってみることにしました。(以下は標準パッケージ内容です)
    また、単にソフトウエアが多いだけでなくPHP4、5を切り替える機能があるのも魅力のひとつです。
    ただしインストールにはちょっと工夫が必要かも・・・
    ちなみに最初にインストーラー版を落としてインストールしてみましたが家のマシンではうまく動作しませんでした(これはマシン環境の問題?)
    次にZip版を落としてみたら今度は解凍エラーに・・・
    最後の自己解凍型(EXE)でやっとうまくいきました。
    解凍したxamppフォルダを、c:\xamppにしてxampp_start.exeを走らせればバッチリです。
    (setup_xampp.batの実行も忘れずにね!)

      + Apache 2.0.54
      + MySQL 4.1.14
      + PHP 5.0.5 + PHP 4.4.0 + PEAR
      + eAccelerator 0.9.3 (PHP5) / 0.9.4-dev(PHP4)
      + PHP-Switch win32 1.0 (from Apachefriends, use the "php-switch.bat") 
      + XAMPP Control Version 2.1 from www.nat32.com	
      + XAMPP Security 1.0	
      + SQLite 2.8.15
      + OpenSSL 0.9.8
      + phpMyAdmin 2.6.4-pl1
      + ADODB 4.65
      + Mercury Mail Transport System for Win32 and NetWare Systems v4.01a
      + FileZilla FTP Server 0.9.10a
      + Webalizer 2.01-10
      + Zend Optimizer 2.5.10a
    (注)Perl 5.8.7 (1.4.16) 、Python 2.3.5 、Tomcat 5.5.9等はアドオン(別インストール)です。
    

    他にも国内メーカー(スペースタグ)がフリーとして出している「ST Server for Windows」というものもありましたがパッケージ内容がかなりシンプルになります。
    まあ、やりたいことが限定しているのであればすべてが日本語でいける分、こちらの方が使いやすいかも知れません。

    Written by admin

    10月 8th, 2005 at 1:23 am

    AMFPHPの準備(その2)

    leave a comment

    「flashservices」フォルダが準備できたら、examples/basicフォルダ内にあるgateway.phpをflashservicesフォルダに移動します。
    後でサンプル(examples.fla)を動かしますので、ついでにexamples/basic/servicesフォルダ内のファイルをflashservices/servicesフォルダ内に移動します。
    これらのファイルはパスさえ通っていれば本来移動する必要のないファイルですがパス位置を固定することによりActionScript側で記述する際に少しだけ楽になります。

    <ActionScript例>(赤字は絶対パス

    NetServices.setDefaultGatewayURL("http://xxx/flashservices/gateway.php");

    ■gateway.phpの中身(赤字は相対パス
    (移動後は赤字のパス部分を下記の内容に変更する)

    < ?php
     include "./app/Gateway.php";
     $gateway = new Gateway();
     $gateway->setBaseClassPath("./services/");
     $gateway->service();
    ?>
    

    (続く・・・)

    flashservice

    Written by admin

    8月 8th, 2004 at 11:39 pm

    AMFPHPの準備(その1)

    one comment

    AMFPHP(Flash Remoting for PHP)を利用するにはまずサーバーでPHPを使えることが前提です(当たり前ですが・・・)

    ■Flash側の準備
    Flash Remotingコンポーネントをダウンロードし、インストールしてください。
    Flashのバージョンによってダウンロードするファイルが違いますので自分の環境に合ったものを選択してください。

    ■サーバー側の準備
    AMFPHPダウンロードしてください。
    (現時点の最新バージョンは、0.9.0です)

    flashservice解凍したファイルは、左図のようにhttp://localhost/としたときのサーバールートディレクトリに置きます。
    AMFPHPとして重要なフォルダは「flashservices」フォルダですのでこのフォルダは丸ごとアップします。
    後は、ActionScriptからAMFPHPに接続する「gateway.php」と実際のメソッド処理を行う「クラスファイル.php」が必要になります。

    (続く・・・)

    Written by admin

    7月 26th, 2004 at 11:50 pm