SQL Anywhere データベースでは、あらゆる種類のデータもバイナリ・ラージ・オブジェクト (BLOB) として格納できます。Web ブラウザで読み取れるデータであれば、PHP スクリプトによって簡単にデータベースからそのデータを取り出して動的に生成したページに表示できます。
BLOB フィールドは、多くの場合、GIF や JPG 形式のイメージなどのテキスト以外のデータを格納するために使用します。サード・パーティ・ソフトウェアやデータ型変換を必要とせずに、さまざまな種類のデータを Web ブラウザに渡すことができます。次の例は、イメージをデータベースに追加し、それを再び取り出して Web ブラウザに表示する処理を示します。
このサンプルは、SQL Anywhere インストール環境の image_insert.php ファイルと image_retrieve.php ファイルにあるサンプル・コードに似ています。これらのサンプルでは、イメージを格納する BLOB カラムの使用についても示しています。
<?php $conn = sasql_connect( "UID=DBA;PWD=sql" ) or die("Can not connect to database"); $create_table = "CREATE TABLE images (ID INTEGER PRIMARY KEY, img IMAGE)"; sasql_query( $conn, $create_table); $insert = "INSERT INTO images VALUES (99, xp_read_file('ianywhere_logo.gif'))"; sasql_query( $conn, $insert ); $query = "SELECT img FROM images WHERE ID = 99"; $result = sasql_query($conn, $query); $data = sasql_fetch_row($result); $img = $data[0]; header("Content-type: image/gif"); echo $img; sasql_disconnect($conn); ?> |
バイナリ・データをデータベースから直接 Web ブラウザに送信するには、スクリプトでヘッダ関数を使用してデータの MIME タイプを設定する必要があります。この例の場合、ブラウザは GIF イメージを受け取るように指定されているので、イメージが正しく表示されます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |