5件の日記があります。
あさ
(2007/02/17 07:49)
基本データ
0 comment
体重:62.25kg
Ajax なファイルアップロード処理…
(2007/02/17 15:08)
0 comment
画面遷移しない、Ajaxなファイルアップロード処理について試してみる
まずは、基本の確認から
Ajax でない、通常のファイルアップロードは、<form> の <input type="file"> タグを使用する
<form action="fileUpload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<input type="file" size=40 name="fileUpload" />
<input type="submit" value="あぷ" />
</form>
action にはアップロード処理を行う php/cgi プログラム、method は post そして enctype="multipart/form-data"
と(暗号化方法を)指定しておくのが作法みたいだ
非表示属性で name="MAX_FILE_SIZE" value="100000" でアップロードできるファイルサイズ上限を指定できる
<input type="file" size=40 name="fileUpload" /> がファイル指定する部分
name はアップロード処理を行うプログラムで参照する。つまり <input type="file"> を複数指定することもできる
最後の <input type="submit"> は実行ボタンだ。これが押されると action で指定された php/cgi プログラムが
呼び出される
PHPではアップロードされたファイル情報は $_FILES[名前][プロパティ名]; で参照できる
名前は <input type="file"> タグの name= で指定した名前だ。先の例なら $_FILES['fileUpload'][プロパティ名]; だ
プロパティには、オリジナルファイル名('name')、タイプ('type')、サイズ('size')、
アップロードされたファイルのテンポラリファイル名('tmp_name') を指定できる。
詳しくは http://manual.xwd.jp/features.file-upload.html を参照
通常は、アップロードされたテンポラリファイルを適切なディレクトリにコピーし、テンポラリファイルは消去しておく
サンプル:http://vivi.dyndns.org/php/upload01.php
ソース:http://vivi.dyndns.org/php/upload01.php.txt
続き:Ajax なファイルアップロード処理 (2)
Ajax なファイルアップロード処理…
(2007/02/17 15:22)
0 comment
Ajax なファイルアップロード処理 (1) は通常の方法だが、それだとページ遷移してしまうので Ajax っぽくない
そこで iframe を使って、ページ遷移しないようにしてみる
ページのどこかに <iframe name="uploadFrame"></iframe> と iframe を切る。名前は "uploadFrame" とかにする
んで、<form> のアトリビュートに target="uploadFrame" を追加する。
<form action="fileUpload.php" method="post" target="uploadFrame" enctype="multipart/form-data">
この指定により、submit ボタンが押されると、"fileUpload.php" がコールされ、ページ遷移せず、
その結果が <iframe name="uploadFrame"> に表示される。という寸法だ。
cgi/php の処理結果を表示したくない場合は iframe に style="display: none" 属性をつければよろし
サンプル:http://vivi.dyndns.org/php/upload02.php
ソース:http://vivi.dyndns.org/php/upload02.php.txt
続き:Ajax なファイルアップロード処理 (3)
Ajax なファイルアップロード処理…
(2007/02/17 16:25)
1 comment
iframe を非表示にしていると、ファイルアップロードが終わったことがわからない
そこで、JavaScript を使って、アップロード終了時の処理を行うようにする
親ページにアップロード終了時に呼び出されるJavaScript関数を定義し、
cgi/php で返すテキストを HTML 文書にしておき、そこに JavaScript を記述して、先の終了時処理関数をコールする
具体的には以下のように書く
<script type="text/javascript"><!--
window.onload = function() {
window.parent.あぷ終了処理();
}
--></script>
window.parent というのは iframe を埋め込んだ親ページのことだ。それの あぷ終了処理() がコールされる
引数を渡すこともできるので、なにか親に伝えたいことがあれば、伝えることもできる。
サンプル:http://vivi.dyndns.org/php/upload03.php
ソース:http://vivi.dyndns.org/php/upload03.php.txt
補足:このサンプルでは親ページとiframeのPHPプログラムを共通にしているが、別々に分けてもよい
シングルス
(2007/02/17 19:43)
0 comment
すげーひさびさ(2003年夏以来)に Iさんとシングルス(6ゲーム先取、デュースあり)
0-1 の次のサーブをキープして、1-1 になったものの、その後は5ゲーム連取されて、結局 1-6 の惨敗
最後のゲームはサービスステージでIさんがファーストが入らず、ダブルフォルトも結構あったのに、
5,6回デュースが続いたがブレイクできなかった
バックに打たれたのがぜんぜん返せなかったし、Iさんのファーストが入るとほとんど相手コートに返らなかった
5件の日記があります。
|