ドットインストール代表のライフハックブログ
本稿では、Flash Playerで再生可能なSWFフォーマットのデータを、PHP言語を使って実行時に動的に生成する方法を解説します。PHPからSWFフォーマットのデータを出力することによって、Webサーバーにアクセスしてきたユーザーの要求に従って動的に変化するFlashを返すことができます。 はじめに 本稿では、近年Webアプリケーション開発などで広く実用されているPHP言語を使って、Flashプレイヤーで再生できるSWFフォーマットのデータを動的に生成する方法を解説します。PHP 4.0.5以降には、SWFフォーマットのムービーを作成するMingと呼ばれるオープンソースライブラリ(LGPL)が導入されています。PHP言語からMingの機能を利用することで、SWFフォーマットのファイルを生成したり、Flashムービーを動的に生成するWebアプリケーションを開発できます。 一般的なFlas
こちらで続けようと思います。 とりあえず、CentOS5、CentOS6の共生と cpanmでのImage::Magick の取り扱い、Imagerがいまいち美しい処理をしてくれないあたりが目下の目標です。
OSC 2010 北海道の発表で使用したスライド資料「PHPで大規模ブラウザゲームを開発してわかったこと」 Tweet 2010/6/28 月曜日 matsui Posted in PHP, お知らせ | 7 Comments » 先日6月26日、札幌で「オープンソースカンファレンス2010 北海道」が行われ、無事終了することができました。 当日は来場者数が過去最高の約450名となり、閉会式は会場に収まりきらないくらいの大盛況でした。 ご来場者の方々、スタッフ・事務局の方々、本当にありがとうございました。 私も1コマセミナー枠を戴くことができまして、弊社で「ブラウザ三国志」というゲームのプログラム開発を行った際の苦労やノウハウなどをまとめた、「PHPで大規模ブラウザゲームを開発してわかったこと」という発表を行わせていただきました。 お越しいただけなかった方のためにも、その際に使用したスライ
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
SNSを運営していてエロイ商品をどんどん投稿されると運営者は困っちゃいますよねってことで、OpnePNE2を改造してみました。 config.phpにこれを追加。 // レビュー機能からアダルト商品を除外するかどうか define('AMAZON_EXCLUDE_ADULT', true); webapp/lib/db/review.phpを修正 function do_review_add_search_result内 foreach ($products['Item'] as $key => $value) { if (is_array($value['ItemAttributes']['Author'])) { $authors = array_unique($value['ItemAttributes']['Author']); $products['Item'][$key]['a
Makuosanは複数のサーバ間でファイルやディレクトリの同期をするソフトウエアです。 似たようなソフトウェアにrsyncがありますが、rsyncでは同期する対象のサーバ台数に比例し転送時間が増加してしまいます。 Makuosanはファイルの転送にマルチキャストを利用するため、転送先のサーバ台数が増えても転送時間が変わらないという特徴があります。 Makuosanを利用してファイルの転送を行うためにはMakuosanデーモンと通信して命令を送る必要があります。 これまでは Makuosan に付属する msync というコマンドラインを利用しデーモンと通信する事が必要でした。しかし、この PHP Extension を利用することで PHP で書かれたプログラムからでも直接 Makuosan デーモンと通信する事が可能となります。 用途としては、複数台のサーバにまたがる Web アプリケー
まず、日本のサイトにある一般的な登録フォームの画面遷移は 入力画面→入力確認画面→完了画面 となっている場合が多いようです。ここでリロード問題となるのは完了画面でのDBへのINSERT処理やCSV書き出し処理、メール送信処理など「一度しか行わない処理」です。例えば完了画面へ遷移した際にブラウザのリロードボタンが押された場合、確認画面よりsubmitした情報が再度submitされて上記の一度しか行わない処理が二度行われてしまいます。そうならないよう、リロード対策はスクリプトで制御します。 まずは確認画面のスクリプト 確認画面でチケットを発行し、セッションに保存しておきます。同時に完了画面へチケットがPOSTされるよう、hiddenにセット。こうして完了画面へ遷移させます。それでは完了画面のスクリプトを見てみましょう。 このように、確認画面で発行されたチケットは一度使い切ってしまえば2度処理さ
少し前のお話なのだけど、せっかくなので書いておくことにする。 MySQLのクエリログを見ていたら、 prepare に相当するログが一切流れていないことに気づいたので、PDO(mysql)でサーバサイドプリペアードステートメントが利用されていないんじゃないか疑惑が浮上。 php のバージョンは 5.2.11 mysql は 5.0 系 以下、検証してみた結果と、その対応です。 検証 簡単なソースコードを実行してみて、そのクエリログを見てみることにした。 PDO を利用 $p = new PDO('mysql:dbname=dbname;host=localhost', 'user', 'password'); $stmt = $p->prepare("SELECT * FROM table_name WHERE id=?"); $stmt->execute(array(1)); $stmt
例えばWindowsでPHPスクリプトを開発しそれをUNIXで動作させるといったときに、あらかじめ改行コード部分にPHP_EOLを使用しておくと、後にコードの書き換えをしなくてよいので便利。 以下、詳細。 たとえば Windowsでは echo 'Hello World' . "\r\n"; UNIXでは echo 'Hello World' . "\n"; としなければならないときでも PHP_EOLを使用すると WindowsでもUNIXでも(そしてMacでも) echo 'Hello World' . PHP_EOL; でOKというわけです。 参考 PHP: 定義済みの定数 - Manual
Google Docs & Spreadsheetsにて公開(Publish)されているスプレッドシートを取得し、HTMLにコンバートして表示します。PukiWiki上にはシートの実体は持たず、シートの編集はGoogle Spreadsheets上で行います。 PukiWikiの書式やプラグインが使用できます。 こちらで公開しています。 最初は例によってただのウェブAPI系プラグインかと思ったのですが、これは面白いですね。自作プラグイン/table_edit.inc.php の代わりに使えそうですね。編集制限は結果的についてしまうようですが。 -- 2007-02-25 (日) 03:08:18 これ凄いなぁ··。「誰でも編集可能」さえあれば実際に使いたかったんだけど無念 -- 2007-03-12 (月) 12:16:15 1.4.6での対応は無いのでしょうか?···· -- とむ 20
PerlとRubyの文法一覧がとても良くまとまっていたので、便乗してPHPでもやってみました。 Perl基礎文法最速マスター – Perl入門〜サンプルコードによるPerl入門〜 Route 477 – Ruby基礎文法最速マスター 他の言語をある程度知っている人はこれを読めばPHPの文法を何となく理解できると思います。 間違い、不足等々あれば教えて下さいm(_ _)m バージョン PHP5.3系がリリースされていますが、ここではPHP5.2系を対象としています。 1.基礎 コードブロック PHPコードは「<?php」という開始タグから始まります。終了タグは「?>」です。HTMLにPHPコードを埋める際は終了タグを使いますが、ライブラリのようにPHPコードのみを記述する際は終了タグを省くことが慣例となっています。 終了タグを省く理由について id:Kiske さんに解説頂いています。ありが
みたいなタイトルの記事を Digg 経由で発見。チートシート代わりにと思い超訳。*1 A Software Architect PHP 最適化 ベストプラクティス! 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo '文','字'; (カンマ区切り)の方が、'文'.'字' (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09
PHPからbit.lyやtr.im等のURL短縮サービスをまとめて扱える「PEAR::Services_ShortURL」 2009年10月26日- PHPからbit.lyやtr.im等のURL短縮サービスをまとめて扱える「PEAR::Services_ShortURL」が本家PEARにあがってます。 bitly, tr.im以外にも、is.gd, short.ie、digg、tinyurl の短縮サービスが現状では使えて、今後もプラグイン形式で簡単に増やすことができるクラス構造になっています。 alpha版という位置づけなので注意が必要ですが、簡単にURLの短縮ができるのでとても便利です。 サービスで、URLを短縮したい、そしてその短縮URLに好きなサービスを使いたいので選択できるようにしたい、というニーズに応じる際に非常に便利なライブラリとなっています。 では、それぞれのサンプルコード
bot https://twitter.com/trash_day APIじゃ動かなくなったので稼動中止しました。 概要 ゴミの日の1日前のPM8,9,10時にゴミの日をつぶやかせる。 月曜・木曜:燃えるごみ 金曜:資源ごみ 第1、3土曜:燃えないゴミ ソース <?php $message = ""; $today = getdate(); $fire_dust_wday = array(0 => 1, 1 => 4); // 月曜、木曜 $recycle_dust_wday = 5; // 金曜 $notfire_dust_wday = 6; // 土曜 $notfire_dust_week_cycle = array(0 => 1, 1 => 3); // 週 $tomorrow = getdate(mktime(0, 0, 0, $today[mon], $today[mday] +
投稿するメッセージは rawurlencode() でエンコードする。メッセージにスペース(空白)があると、そこで切れてしまうから。 PHP5以上 <?php $url = "http://twitter.com/statuses/update.xml?"; $username = your username; $password = your password; $params = "status=". rawurlencode(message); $result = file_get_contents($url.$params , false, stream_context_create(array( "http" => array( "method" => "POST", "header" => "Authorization: Basic ". base64_encode($user
概要† pukiwiki1.4.7の標準認証にsession(cookie)を使って認証できる機能をつけました。 CGI版PHPでも認証が機能します(さくらインターネットで使っています) 認証が必要なページにアクセスすると自動的にログイン画面が表示されます。 login.inc.phpというプラグインとauth.phpを変更して実装しています。 ↑ 注意† phpのsessionでは、cookieを使います。また、cookieが使えない場合は、URLにセッション情報が表示されます。いずれの場合も、ユーザ・パスワードが一致しなくても、認証された状態になってしまう危険性が指摘されています。このプラグインでは、とりあえずsession_regenerate_id(TRUE)を入れています。詳しくは、「PHP session 注意」などで検索下さい。 本当にみられたくない場合は、別フォルダにpuk
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く