Posts tagged upload

optionタグを選択不可にする disabled 属性

2

フォーム画面を動的に表示してある条件のときにはラジオボタンなどを disabled にしたりします。
今回もあるフォームを作成していて在庫が0のときに select タグで表示する項目を選択できないようにしたかったので調べてみたところ、option タグにも disabled 属性がありました。

そこで下記のようにしてみたところ

<form action="">
<select>
<option>オプション1</option>
<option disabled="disabled">オプション2</option>
<option>オプション3</option>
<option>オプション4</option>
</select>
<input type="submit">
</form>

option-desiabled

うまく選択不可になりました。
ところが Firefox では OK だったのですが、IE6では選択可能に。。。

調べてみると
Disable Option’s In A Select (Dropdown) Element ? Post Archive ? www.lattimore.id.au

It never ceases to amaze me how a browser like IE6, managed to not implement something as trivial as an attribute like disabled. The IE team managed to implement it against the <select> element, but some how overlooked the <option> element. They implement the readonly attribute against the appropriate elements – yet some how the disabled attribute managed to be overlooked when they implemented it. More surprising is that, since the HTML4.01 specification came out in late 1999, IE has been updated and upgraded for various things literally hundreds of times. Why hasn’t this made it into an update? You’d begin to think that Microsoft aren’t aware of it, however the thought of that just seems too far fetched.

どうも IE6 のバグのようです。

ジビッツ購入

0

ジビッツ

クロックスビジッツを付けてみました。
写真は右足ですが、左足にはカクレクマノミを付けてます。
もう少し付けた方がいいのかなぁ。

ボリショイサーカスに行って来た

1

ボリショイサーカス
相方と1歳半の娘と一緒に横浜文化体育館にボリショイサーカスを見に行ってきました。
私自身サーカスを見るのは初めてでした。
心配だったのは娘が2時間見ていられるかなということでした。
まあ、行く前からぐずってきたら帰ろうというくらいの気持ちで行ったのですが。

娘は最初からなぜかハイテンションで大喜び。笑いながら拍手、手拍子をしていました。
私が手拍子や拍手をしていないのに気がつくと怒るくらいです。
ジャグリングや一輪車は分かりやすいのかもしれないですね。
場つなぎ(?)でピエロが出てきてゴチャゴチャやっているのにはまったく興味なし(スイマセン)

そうこうしているとやはり1歳半の子供。しだいに飽きて来てしまいました。
空中ブランコの途中で飽きてしまったのでロビーに出ると、やはり他にも子供ずれの親たちが何人かいましたね。

その後休憩を挟んでホワイトタイガーの芸を見た後に帰りました。
帰りの車ではぐっすり寝ていたので眠かったのでしょう。

XREA に設置した WordPress で画像のアップロードができない

18

前の投稿で初めて画像をアップロードしました。
そのときに、なかなか画像のアップロードができなかったので対策メモ。

最初はパーミッションでエラーになった
-> FTP から wp-content ディレクリにパーミッションの設定をした。
再度アップロードすると今度は wp-content 内に uploads ディレクトリがないとエラー。
-> FTP からディレクトリの作成をおこない、パーミッションの設定をして再度アップロードしてみた。
今度はファイルを移動できないとのこと。

ググってみると、XREA の PHP はセーフモードでした。
そのためFTP でディレクトリを作成するとユーザが apache になるために保存できなかったのですね。

そこで下記のようにしました。

  • ローカル側で wp-content 内に uploads ディレクトリを作成
  • そのディレクトリをアップロード
  • FTP で wp-content/uploads ディレクトリに書き込みパーミッションを設定

再度アップロードすると今度はうまく行きました。
他には CGI として PHP を動かす方法もあるようです。

参考サイト
WordPress Japan :: トピックを表示 – XREAでファイルアップロードが出来ない
XREA で WordPress ファイルアップロード機能を利用する – Numb.
PHPをCGIとして動かす方法について – XREA&CORE SUPPORT BOARD

クロックス購入

2

クロックス

クロックスを家族3人で購入。
今まではサンダルといえばビーサンばかりの私でしたが、はやりものに負けました。

私のお気に入りのビーサンといえば葉山のげんげいです。
先日、本も出版されました。

ビーサン屋げんべい物語―葉山の片隅から世界を狙うオンリーワン商店

もちろん発売日にそく購入しました。

クロックスは履き心地がいいですね。
今はジビッツをネットで選んでいるところです。

PHP で大きいJPEGやPNGファイルをPHPで扱うときのメモリエラー回避方法

0

GD でメモリエラー
に書かれているように GD で JPEG や PNG の大きな画像を扱うときに
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 11648 bytes) in ...というようなエラーが出てしまいます。

上のエラーがは私が EOS5D で撮影した 2912×4368とかなり大きな画像です。

大きさで制限するのも一つの方法ですが、どうしても大きな画像を取り込みリサイズしなければいけないときなどのために以下の方法もあります。

PHP: imagecreatefromjpeg – Manual
PHP に割り当てられているメモリの範囲で必要なメモリを計算して
ini_set('memory_limit', 'xxM')と設定しれくれます。

function setMemoryForImage( $filename ){
    $imageInfo = getimagesize($filename);
    $MB = 1048576;  // number of bytes in 1M
    $K64 = 65536;    // number of bytes in 64K
    $TWEAKFACTOR = 1.5;  // Or whatever works for you
    $memoryNeeded = round( ( $imageInfo[0] * $imageInfo[1]
                                           * $imageInfo['bits']
                                           * $imageInfo['channels'] / 8
                             + $K64
                           ) * $TWEAKFACTOR
                         );
    //ini_get('memory_limit') only works if compiled with "--enable-memory-limit" also
    //Default memory limit is 8MB so well stick with that.
    //To find out what yours is, view your php.ini file.
    $memoryLimit = 8 * $MB;
    if (function_exists('memory_get_usage') &&
        memory_get_usage() + $memoryNeeded > $memoryLimit)
    {
        $newLimit = $memoryLimitMB + ceil( ( memory_get_usage()
                                            + $memoryNeeded
                                            - $memoryLimit
                                            ) / $MB
                                        );
        ini_set( 'memory_limit', $newLimit . 'M' );
        return true;
    }else
        return false;
    }
}
Go to Top