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("Cannot 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 イメージを受け取るように指定されているので、イメージが正しく表示されます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |