mysql:2349
From: "MIYATSU Kazunari" <"MIYATSU Kazunari" <mid@xxxxxxxxxx>>
Date: Sat, 5 Aug 2000 11:52:13 +0900
Subject: [mysql 02349] Re: php で写真 GIF を出力するには
当方でも確認してみました。ACCESS97でOLEオブジェクトとしてリンクできましたが、確 かに記録されるバイナリは一致しませんでした。 何か加工されているのは確かそうです。 で、サンプルの方ですがなんとか見られるようにしただけですので、動くかどーかわかり ません。 動かなかったら、php3.iniのテンポラリ、ファイル最大長の設定も確認してください。 --------SND.php3------------------------------------------------------------- <? $conn=mysql_connect("localhost"); if(!mysql_select_db("StdArchive",$conn)){echo ("Cannot select database.\n");} $result = mysql_query("select * from stddoc where(ID=$FileID)"); if($row =@mysql_fetch_object($result)){ header("Content-type: $row->MIME"); header("Content-Disposition: Filename=$row->Filename"); // header("Content-Disposition: inline; filename=$row->Filename"); // header("Content-Disposition: attachment; filename=$row->Filename"); // header("Content-Disposition: extension-token; Filename=$row->Filename"); echo $row->Dbinary; }else{ echo "<HTML>\n<HEAD><TITLE>File not Found</TITLE></HEAD>\n"; echo "<BODY>\nFile Not Found.<BR>"; echo "Please Check Link or Argument and Reload.<BR>"; echo "<HR>Standard Document Archive.<BR>"; echo "</BODY>\n</HTML>"; }; ?> ----------------------------------------------------------------------------- サーバー->ブラウザ転送用"SND.php3" 引数は"FileID",レコードセット内のIDに合致したDBinaryの内容をMIMEフィールドの形式 ヘッダを付けて送信 --------RCV.php3------------------------------------------------------------- <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp"> <TITLE>UPLOAD</TITLE> </HEAD> <BODY> <? echo "Upload file Information.<BR>\n"; echo "<TABLE BORDER=1>\n"; echo "<TR><TD>Server temporaly file name</TD><TD>$userfile </TD></TR>\n"; echo "<TR><TD>Uploaded file name</TD><TD>$userfile_name </TD></TR>\n"; echo "<TR><TD>Uploaded file Size</TD><TD>$userfile_size </TD></TR>\n"; echo "<TR><TD>MIME file type</TD><TD>$userfile_type </TD></TR>\n"; echo "</TABLE>\n"; echo "<HR>"; $conn=mysql_connect("localhost"); if(!mysql_select_db("StdArchive",$conn)){echo ("Cannot select database.\n");} if($userfile=="none" or $userfile==''){ echo "It was not uploaded.<BR><HR>"; }else{ $fp=fopen($userfile,"r"); $Binary=addslashes(fread($fp, filesize($userfile))); fclose ($fp); unlink($userfile); $query="insert into stddoc values('','$userfile_type','$userfile_name','$Binary')"; if(mysql_query($query)){ echo("Write data sucessfully.<BR>"); }else{ echo("Write data Failure.<BR>"); }; echo ("<HR><BR>"); }; ?> </BODY> </HTML> ----------------------------------------------------------------------------- ブラウザ->サーバ転送用"RCV.php3" Upload.htmlから呼び出されるサーバ側受信スクリプト $Binary変数に"\"(バックスラッシュ)問題回避処理(addshashes)をして内容を収納 テンポラリ削除後、MySQLにサイズ、タイプを含めてレコードを追加 $userfile_****は自動で付いてくるので参照だけ フィールド構成 ID int インデックス(not null,auto increment) MIME varchar MIMEタイプ Filename varchar ファイル名 Dbinary longbolb バイナリ本体 --------Upload.html---------------------------------------------------------- <HTML> <HEAD> <title>Document Upload FORM</title> </HEAD> <BODY bgcolor="#FFFFFF" text="#000000"> <p>Documet Upload FORM.</p> <table width="75%" border="0" align="center"> <tr bgcolor="#999999"> <td> <table width="100%" border="0"> <tr bgcolor="#FFFFFF"> <td> ファイルアップロード <table width="75%" border="0" align="center"> <tr bgcolor="#0000ff"> <td> <table width="100%" border="0"> <tr bgcolor="#FFFFFF"> <td colspan="2">ファイル情報の設定</td> </tr> <tr bgcolor="#FFFFFF"> <td>Filename</td> <td>Action</td> </tr> <tr bgcolor="#FFFFFF"> <form enctype="multipart/form-data" action="RCV.php3" method=POST> <td> <input type="hidden" name="MAX_FILE_SIZE" value="2097152"> <input name="userfile" type="file"> </td> <td> <input type="submit" name="Submit" value="送信"> </td> </form> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </BODY> </HTML> ----------------------------------------------------------------------------- ファイルアップロード用UI"Upload.html" ファイル名を設定後、送信ボタンでRCV.php3を呼び出す
2328 2000-08-01 19:33 [楠吉彦 <moredebu@xx] php で写真 GIF を出力するには 2331 2000-08-01 20:38 ┣[とみたまさひろ <tomm] 2339 2000-08-02 13:12 ┗["MIYATSU Kazunari" <] 2340 2000-08-02 18:07 ┗[楠吉彦 <moredebu@xx] 2341 2000-08-02 18:36 ┗["MIYATSU Kazunari" <] 2342 2000-08-02 18:45 ┗["MIYATSU Kazunari" <] 2343 2000-08-02 20:35 ┣[楠吉彦 <moredebu@xx] 2347 2000-08-04 18:42 ┗[楠吉彦 <moredebu@xx] -> 2349 2000-08-05 11:52 ┗["MIYATSU Kazunari" <] 2350 2000-08-05 16:26 ┗[楠吉彦 <moredebu@xx]