2009年11月24日火曜日

 

【PHP】ファイルダウンロード

リンククリックで「ファイルを保存する」ウィンドウを開くようにする。
PHPファイルにリンクして、PHPからダウンロードさせるファイルの情報をヘッダとして渡す。
直接、ファイルにリンクしてもブラウザで開くだけだから。

File_Archive - PEAR

PEARライブラリ使うと楽らしい。圧縮も出来る様子。

参考
PHPでファイルダウンロードさせる方法 - ゆるゆると
PHPでクリックした時にファイルをダウンロードさせる設定 - OPQR.jp

ラベル:


 

Basic認証

注意点
参考
Basic認証 - W3G - World Wide Web Guide
.htaccessを使ってアクセス制限するにはどうしたらいいのでしょうか? - XREA FAQ[私設応援団]
暗号化CGIあり。

ラベル:


2009年11月19日木曜日

 

【PHP】cronでメールを受信したら返信するプログラム

PHPからメールを取得するのは以下を参考。PEAR::Net_POP3でメールを取得、PEAR::Mail_mimeDecodeで解析。

Mail_mimeDecodeとNet_POP3でメールで更新 - blog@longkey1.net

XREAサーバでcronの設定は以下を参考。実行するプログラムファイルを「~.sh」にUTF-8、改行コードLFで記述して、管理画面から実行時間とshファイルを指定する。

XREA で cron の設定 - すぐに忘れる脳みそのためのメモ

XREAの管理画面からの設定では最小実行時間は毎時間ごとでしか指定できない。
cronの設定欄は10個ほどあるので「分」の項目を変えて10分ごとくらいは可能だが、メールに自動返信したい時などはもっと短い時間でメールの受信を調べたい。
その場合はSSHで接続し、「crontab」コマンドで直接記述する。

/* cronを編集するコマンド */
$ crontab -e

エディタが起動するので編集。

/* 毎分cronを実行する設定 */
* * * * * /bin/sh /virtual/[ユーザ名]/public_html/cron.sh

これで完了。

m4i / xrea-cron - GitHub

XREAでcronを毎分ごとに実行するRubyスクリプト。

ラベル:


2009年11月14日土曜日

 

Processing 入門メモ

Processing
Processing.jp
-Processing日本語リファレンス(PriPro.org)
Processing 学習ノート
processing.unlekker.net
デザイン用プログラミング環境Processing - CIOを目指しつつの8makiのアレ
芸術の秋にProcessingで スケッチプログラミングを始めてみよう - @IT - アットマーク・アイティ
魅惑のProcessing
速攻下校
Processingで遊んでみた
Processing作品その2
Processing作品その3
Canvasで遊ぶ
追記:2009/11/26
小学校教員のためのプログラミング入門
-東京学芸大学教育学部の講義用サイト。
Processingのサンプルもろもろ - Bouldering & Com.
processingで、クリックするとその場所に水面の波紋が出るプログラムを作りたいの... - Yahoo!知恵袋
-Processingに付属するサンプルプログラムを変更してクリックすると波紋が広がるプログラム。
Processing カテゴリー - SCRATCHBRAIN.BLOG v2
Topics <- Learning - Processing 1.0
-Processingのサンプルとコードを見れる。
Processing - Webデザイナー・Webクリエイターの為のNews・求人情報
-Processingに関するニュース・トピック、サイト紹介など。
OpenProcessing
-作品とソースのサンプル。
flight404 dot com SRC: Particle Emitter
SRC: Particle Emitter, pt. 2
[ harukit ] - proce55ing sketchbook
Reclam
フルProcessingサイト。
Processing.js
Processing.js
ブラウザでお絵描きプログラミング! Processing.js 登場! - IT戦記
Processing.jsの使い方 - Irrational Exuberanc

ラベル:


2009年11月11日水曜日

 

【PHP】guesswork - “薄っぺらなフレームワーク”

guesswork classic - guesswork
guesswork classicは、「ややこしいフレームワークは使いたくない」けど「なんでもありになりがちなPHPスクリプトをスッキリさせる指針が欲しい」と考えている人のための軽量なPHP4用フレームワークです。
とりあえず触ってみる <- Documents <- guesswork

解凍したディレクトリ内の「lib/」を任意の場所にアップロードし「lib/Guesswork.php」を読み込んで使う。

require_once '(ディレクトリパス)/lib/Guesswork.php';

Smartyの設定は次の通り。


class SampleController extends Controller
{
    var $_gw_default_action = "index";
    var $_gw_template_class = "(ディレクトリパス)/smarty/Smarty.class.php";
    var $_gw_template_templates_dir = 'templates';
    var $_gw_template_compile_dir = 'templates_c';

アクションとテンプレートの呼び出しは次の通り。他のフレームワークとも似ている。


    function executeIndex()
    {
            return $this->render('sample/index');
    }

「templates/」内に、この場合「sample/」ディレクトリを作ってテンプレートを置いている。
この様にコントローラ・クラス名と同名のディレクトリ内に置かないと上手くいかないようだ。
ただ、テンプレート内からSmartyタグでファイルを読み込む時は「templates/」直下が基準のよう。

/* Smartyテンプレートファイルからヘッダファイルの読込み */
{include file="./head.tpl"}

アクションの振り分けはフォームのhidden要素で決まる。

<input type="hidden" name="action" value="sending" />

この場合、フォームからPOSTされるとSendingアクション(executeSending())が実行される。
「(コントローラ・クラス名)Validator.class.php」にアクション毎のバリデーションを定義しないとエラーになる(「SampleValidator.class.php」内に「validateSending()」を記述)


class MailFormValidator extends Validator
{
    /**
     * 確認アクションでの検証。
     * @access public
     * @param array $values
     */
    function validateStaffName($values)
    {
       // バリデータ定義
    }
}

他のフレームワークだと「sample_mail.html」テンプレートと「executeSampleMail()」は関連付けられたりするが、guessworkはしてくれないようなので以下のようにすると可能。

// テンプレート
<input type="hidden" name="action" value="SampleMail" />
// コントローラ
return $this->render('sample/sample_mail');

最小限フレームワークなのでバリデーション関数は「lib/Guesswork/Validate.php」に「isEmpty()」だけでE-mailチェックも英数字チェックもない。

ラベル:


This page is powered by Blogger. Isn't yours?

登録 投稿 [Atom]

Google