2010年8月31日火曜日

PHPアップロードファイルサイズ

XOOPSの仕事。

アップロードできるファイルサイズの上限値を変えたいという話。

XOOPSの管理画面で変更するほか、PHPのオプションも変えないといけません。

.htaccess

php_value upload_max_filesize 10M
php_value post_max_size 10M

マニュアルでオプションの説明に"PHP_INI_ALL"、"PHP_INI_USER"、"PHP_INI_PERDIR"のいずれかが書いてあれば .htaccessで変更可能。"PHP_INI_SYSTEM"だと不可能(php.ini, httpd.confレベル)。

前提として、Apacheのhttpd.confで "AllowOverride Options" が有効になっていること。

2010年8月30日月曜日

XML::Parserが動かない問題でハマる

PerlでXMLをあつかう場合、XML::Simpleを仲介者としてXML::Parserを利用していた。しかしサーバーによってはXML::Parserがインストールされていない&インストールできないので、エラーになってしまう。

  # xmlを読み込む
  $XML::Simple::PREFERRED_PARSER = 'XML::Parser';  # この行をコメントアウトすると動いたが、UTF8フラグ関係の動きが変わってしまって文字化け。具体的にどのモジュールがParseを行っているのか不明なのでどこをどうすればいいのやら(プロファイルをとればわかるだろう)
  my $xmlobj = XMLin($res->content);

しかたなく binmode STDOUT, ":utf8"; を取ったら日本語も化けなくなった(今のところ謎)。

2010年8月17日火曜日

アコーディオンメニュー

L社のWebサイト案件にて。

jQuery UI を使わないで自作(プラグイン化)。

HTMLの構造は違うのだけど、下記サイトを参考にした。

参考
jQueryでアコーディオンメニューを作成する | TRIPLEXXX

HTML構造が変&要素が巨大なのでマウスオーバーイベント駆動かつアニメーションにすると振動が発生してしまった。よってクリックイベント駆動にしておいた。

2010年8月15日日曜日

ielm: Inferior Emacs Lisp Mode

EmacsでREPLみたいなことができる、という話。

M-x ielm で起動すると *ielm* というバッファが生成される。*ielm* の中で対話的に式を評価できる。

*scratch*バッファや M-:(eval-expression) ばかり使っているから、これは知らなかった。

2010年8月10日火曜日

You can't test "EntryExcerpt" with "MTIfNonEmpty"

MovableTypeの話。

ブログ記事の「概要」(MTEntryExcerpt)の有無を判断するため、MTIfNonEmptyタグを使ったのだが、期待通りに動作せずはまってしまった。

「概要」は参照時に本文(MTEntryBody)から自動生成されるため、常に「有」となってしまうらしい。

NG
<MTIfNonEmpty tag="EntryExcerpt">
  <mt:EntryExcerpt convert_breaks="0">
</MTIfNonEmpty>
これだと、常に真と判断されてしまう。
OK
<MTIf no_generate="1" tag="EntryExcerpt">
  <mt:EntryExcerpt convert_breaks="0">
</MTIf>
MTIfを使ってno_generateという修飾子をつける。

2010年8月9日月曜日

MTの改行削除プラグイン

プラグイン設定で以下2つを有効にし、再構築すればよい。

  • 全ぱん設定
  • ソースコードクリーナーを有効にする

MTOS-4.27-jaで使えている。MTOS-5でも大丈夫らしい。

Source Code Cleaner(ソースコード・クリーナー) - Movable Type プラグイン - かたつむりくんのWWW

2010年8月5日木曜日

emacs-fu: some handy key bindings

emacs-fu: some handy key bindings で紹介されていたキーバインディングのうち、今後活用したいものだけ抜粋。

  • "M-m jumps to the first non-whitespace character on the current line;"
  • "M-^ joins two lines into one – like vi(m)'s :join, except that point must be on the second line, not the first;"
  • "C-x 8 RET in a recent emacs version gives you an auto-completable list of special characters to insert."

2010年8月4日水曜日

JSでドロップダウンリスト(jQuery)

jQueryを使えば楽。ただしCSSもそれなりに書く必要あり。さらにはIE6-7対応も。