[前][次][番号順一覧][スレッド一覧]

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]