mysql:1274
From: egashira <egashira <egashira@xxxxxxxxxx>>
Date: Tue, 12 Oct 1999 11:47:15 +0900
Subject: [mysql 01274] Re: 登録時に同じレコードの値を使う良い方法ありますか?
松本様 > そこで江頭さんに質問なんですが、ファイルをアップロードする時の > ファイル名は、下記1.のように取得し、DBにまず登録してから > ファイルをアップロードしてますでしょうか? > できれば、時間のかかるファイルアップロードをDB登録より先に > 行わせたいのですが、さらに負荷のかからない方法は思いつきませんで。。 私のケースとちょっと異なるので実動実績がありませんが おそらく一度にやってしまったほうが良いと思います。 まずFORMでファイルをアップロードする。 (想定スクリプト=uptest.php3) (想定アップロードファイル=test.gif) <FORM ENCTYPE="multipart/form-data" ACTION="uptest.php3" METHOD=POST> <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000"> Send this file: <INPUT NAME="userfile" TYPE="file"> <INPUT TYPE="submit" VALUE="Send File"> </FORM> 実行後のuptest.php3で受け取った変数は次のようになります。 $userfile : /tmp/php00305aaa $userfile_name : test.gif $userfile_size : 801 $userfile_type : image/gif $userfileというのはアップロードされたファイルの一時(ディレクトリと)ファイル です。 uptest.php3では次のことを行います。 1.$userfile_nameか$userfile_typeから拡張子を取得する。 (gif or jpg これ以外はエラー制御処理) 2.mysqlへinsertする。 3.mysql_insert_id()でidを取得する。 4.id + 拡張子でファイル名を組立 5.一時ファイル(/tmp/php00305aaa)を4.で組立てたファイル名で所定のディレクトリ へコピー 6.必要があればパーミッション等の変更処理 <注意> 一時ファイルはuptest.php3内だけ有効です。スクリプト終了時は自動で削除されま す。 MAX_FILE_SIZEはに PHP3.iniやApache .confで指定されたファイルサイズより大くで きないそうです。 ------------------------------------------------ 江頭正敏 egashira@xxxxxxxxxx ------------------------------------------------
1264 1999-10-08 01:30 [kouichi matsumoto <m] 登録時に同じレコードの値を使う良い方法ありますか? 1265 1999-10-08 10:33 ┣[とみたまさひろ <tomm] 1266 1999-10-07 22:41 ┗[egashira <egashira@x] 1273 1999-10-12 03:28 ┗[kouichi matsumoto <m] -> 1274 1999-10-12 11:47 ┗[egashira <egashira@x]