久光工房

Factory Hisamitsu

  • Home
  • 久光工房?

25

12月

PHPでセッションファイルの保存場所

Posted by admin  Published in PHP

 Windows Web Server 2008にPHP5.3.3をインストールして使ってたんだけど、C:\Windows\Tempにあるエラーログ(php-errors.log)にときどきPHP Notice: session_start(): ps_files_cleanup_dir: opendir(C:\Windows\Temp) failed: No error (0)というエラーが記録されている。「session_start()の実行時にセッションファイルが格納されるディレクトリへのアクセス権がなくてps_files_cleanup_dirに失敗した」ってことかな? でもセッションを使った認証機能などは正常に動いているようだし、session_start()をコールしてもたまにしかこのエラーが発生しない。特定のスクリプトで起きているわけでもなさそうだし。なにかの確率に基づいてランダムに発生しているように見える・・・・・ある確率で発生するセッションに関することで思い出したのが古いセッションファイルの自動掃除、ガベージコレクションに失敗してるんじゃなかろうかってこと。Tempフォルダにガベージコレクションの実行権限を与えるか、ガベージコレクションの実行権限があるフォルダをセッションファイルの保管場所に変更するか(php.ini内のsession.save_pathを変更)。これで解決できればいいんだけど・・・どうだろう。

no comment

19

4月

PHPでPDFファイルのプロパティを取得する(1)

Posted by admin  Published in PHP

TCPDFというPDF生成ライブラリが便利。比較的簡単にPDFファイルが作れる。ところでサーバに生成したPDFファイルを貯め込んである場合、その一覧表をつくる方法を考えた。最初に思いついたのが、TCPDFでPDFを生成するたびにMySQLに情報をいれて、これを使って一覧表のページをつくること。でも何かのはずみでディレクトリ内のファイルを削除したりリネームしたりしてしまうことがあるかもしれない。そうなると実態とMySQL内の情報がめちゃくちゃになってしまう。一番簡単なのはファイル名を使って一覧表を作ってしまうことだというのはわかる。でもファイル名だと中身がわかりにくい。さてどうしようか。

PDFファイルには「タイトル」「サブタイトル」「著者」「作成日」「更新日」「キーワード」といった情報を記録しておくことができる。

PDFファイルにはタイトルや著者などの情報を記録できる

PDFファイルにはタイトルや著者などの情報を記録できる

TCPDFにもPDFを生成するときにもこれらの情報を付加する関数がある。ということはここにいろいろ書いておいて、phpでこれを読み込んで一覧表をつくることができればディレクトリに実在するPDFファイルを対象にしつつわかりやすい一覧表が簡単につくれる、ハズ。

ハズ、なんだけど、どうすりゃいいんだ? ネットでいろいろ検索するとPDF生成ライブラリとして有名なPDFlibのオプション機能としてPDFプロパティの取得ができる機能があることがわかった。オプション単体でも存在しているんだけど、どっちにしても有料。うーんお金とれる話なら使ってもいいけど、趣味だからなあ。高すぎる。

で、phpユーザーのメーリングリストで質問したら、ZendFrameworkのZEND_Pdfという機能でOKとの回答。そうなのか。フ、フレームワークか。フレームワークって、知識としては知ってるけど未経験。CakePHPあたりの勉強してみようかなぁなんて思ってたくらいだからなあ。できるってことはわかったけど、使えるようになるまでにえらい時間かかりそう。でもいずれフレームワークも使えるようになったときのために覚えておこう。

メーリングリストでもうひとつ興味深い回答が。PDFファイルに記録されている情報なんだから直接取り出しちゃえば?という至極単純な回答。そりゃそうだ。あははは。

とりあえずバイナリエディタ「0xED」を使ってサイズの小さなPDFファイルを開いてみる。だらだらだら〜っと眺めていると、あった、あった。「/Title」っていう部分、ほかにも /Author、/Subject、/Keyword、/Creatorなどなど。それぞれ直後にある( )内がプロパティ値になっているらしい。( )内をいろんなエンコーディングで試してみたらUTF-16でバッチリ変換できる。

PDF形式のファイルをバイナリエディタでひらくと

PDF形式のファイルをバイナリエディタでひらくと

ここまでわかったらあと一歩。phpでPDFファイルをバイナリで開いて、「/Title (」ってのを探して、終わりの「)」を見つける。その間にあるバイナリデータはUTF-16なんだからこれをUTF-8に変換すればブラウザで表示できる。

no comment

4

1月

Mac mini サーバー構築@Leopard (3)

Posted by admin  Published in Macでサーバ, PHP

【PHP】

PHP のインストール

Mac OS X には PHP がすでにインストールされているので何もやることなーし。バージョンは5.2.6だった。初期状態では稼働してないが、Apache の設定を変更して有効化してやればOK。

PHP の設定

設定ファイルをいじって MySQL と接続できるようにするだけ。

Finderの移動メニューからフォルダへ移動…を使って
/etc/
を開くと PHP 設定ファイルのサンプル「php.ini.default」があるのでデスクトップにコピーする。

ファイル名を「php.ini」に変更する。

設定ファイルを開いて MySQL ソケットファイルの場所を指定する部分を下記のように書き換える。
mysql.default_socket =
↓
mysql.default_socket = /tmp/mysql.sock

そしたらターミナルを起動して
sudo chown root:wheel /Users/ユーザー名/Desktop/php.ini
でオーナー変更。
sudo chmod 444 /Users/ユーザー名/Desktop/php.ini
でパーミッション変更。
sudo mv /Users/ユーザー名/Desktop/php.ini /etc/
でファイルを/etc/ディレクトリ内へ戻す。

no comment

Sort By

最近の投稿

  • グロック26アドバンス
  • エチルヘキサン酸の怪
  • 深呼吸する惑星
  • Internet Explorer 6・・・・
  • 現場で役立つ 化粧品・美容のQ&A
  • 今週の東京スカイツリー(7)

カレンダー

2012年2月
月 火 水 木 金 土 日
« 1月    
 12345
6789101112
13141516171819
20212223242526
272829  

カテゴリー

  • 1/700東京スカイツリー (8)
  • iPad (4)
  • iPhone (3)
  • iPod (23)
    • iPod touchでGPSモドキ (4)
    • iPod touchでホントのGPS (6)
    • どこでもWi-Fi (7)
  • LED (4)
  • Macでサーバ (17)
  • MySQL (6)
  • PHP (3)
  • ガンプラ (22)
    • RXガンダム博物館 (6)
    • V作戦博物館 (1)
    • ザク祭り (7)
    • シャア博物館 (6)
  • フレッツvsJ:COM (13)
  • 化粧品 (11)
  • 映画とか (9)
  • 未分類 (57)

アーカイブ

  • 2012年2月 (1)
  • 2012年1月 (3)
  • 2011年12月 (6)
  • 2011年11月 (5)
  • 2011年10月 (3)
  • 2011年9月 (3)
  • 2011年8月 (2)
  • 2011年7月 (4)
  • 2011年6月 (5)
  • 2011年5月 (2)
  • 2011年4月 (5)
  • 2011年3月 (4)
  • 2011年2月 (4)
  • 2011年1月 (4)
  • 2010年12月 (4)
  • 2010年11月 (4)
  • 2010年10月 (4)
  • 2010年9月 (3)
  • 2010年8月 (4)
  • 2010年7月 (7)
  • 2010年6月 (7)
  • 2010年5月 (3)
  • 2010年4月 (8)
  • 2010年3月 (10)
  • 2010年2月 (9)
  • 2010年1月 (6)
  • 2009年12月 (6)
  • 2009年11月 (1)
  • 2009年10月 (3)
  • 2009年9月 (4)
  • 2009年8月 (4)
  • 2009年7月 (4)
  • 2009年6月 (4)
  • 2009年5月 (3)
  • 2009年4月 (5)
  • 2009年3月 (6)
  • 2009年2月 (5)
  • 2009年1月 (10)

ブログロール

  • Cosmetic-Info.jp
  • 久光一誠
  • 有限会社久光工房

検索

Recent Entries

  • グロック26アドバンス
  • エチルヘキサン酸の怪
  • 深呼吸する惑星
  • Internet Explorer 6・・・・
  • 現場で役立つ 化粧品・美容のQ&A
  • 今週の東京スカイツリー(7)
  • 今週の東京スカイツリー(6)
  • 今週の東京スカイツリー(5)
  • 東京ゴッドファーザーズ
  • 今週の東京スカイツリー(4)

Recent Comments

  • No Comments
  • Random Selection of Posts

    • MG MS-06R-1A 高機動型ザクII (黒い三連星専用仕様) [Ver.2.0]
    • テレビ/電話/ネットを共通回線にしよう(11)
    • ソニーGPSユニット GPS-CS3K
    • iPod touch 自作スタンド
    • MG RX-78GP01 ガンダム試作1号機
    • 大阪みやげに白い恋人
    • EXCELで最小二乗法(2)
2008 久光工房 is proudly powered by WordPress
Theme designed by Roam2Rome