OCI8 エリソ�
PHP Manual

oci_new_descriptor

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_descriptorカホソキオャ LOB 、「、�、、マ FILE ・ヌ・」・ケ・ッ・�ラ・ソ、魘�ス、ケ、�

タ篶タ

OCI-Lob oci_new_descriptor ( resource $connection [, int $type = OCI_DTYPE_LOB ] )

・ヌ・」・ケ・ッ・�ラ・ソ、「、�、、マ LOB ・愠ア。シ・ソ、ンサ�、ケ、��ス。シ・ケ、ホハン、キ、゙、ケ。」

・ム・鬣癸シ・ソ

connection

oci_connect() 、「、�、、マ oci_pconnect() 、ャハヨ、ケ Oracle タワツウ ID。」

type

type 、ネ、キ、ニヘュク妤ハテヘ、マ。「 OCI_DTYPE_FILE。「OCI_DTYPE_LOB 、ェ、隍モ OCI_DTYPE_ROWID 、ヌ、ケ。」

ハヨ、�ヘ

タョクキ、ソセ�遉ヒソキ、キ、、 LOB 、「、�、、マ FILE ・ヌ・」・ケ・ッ・�ラ・ソ。「 ・ィ・鬘シサ�、ヒ FALSE 、ヨ、キ、゙、ケ。」

ホ�

ホ�1 oci_new_descriptor() 、ホホ�

<?php
/* 、ウ、ホ・ケ・ッ・�ラ・ネ、マ HTML ・ユ・ゥ。シ・爨ォ、鬣ウ。シ・�オ、��隍ヲタ゚キラ、オ、�ニ、、、゙、ケ。」
 * 、゙、ソ。「$user, $passwor, $table, $where, $commitsize、ャ・ユ・ゥ。シ・爨ォ、�
 * ナマ、オ、��ウ、ネ、ートヒ、キ、ニ、、、゙、ケ。」、ウ、ホ・ケ・ッ・�ラ・ネ、マ。「ROWID 、ム、、、ニ
 * チェツオ、�ソケヤ、��キ。「$commitsize ケヤヒ隍ヒ・ウ・゚・テ・ネ、キ、゙、ケ。」
 * (・悅シ・�ミ・テ・ッ、ャ、ハ、、、ホ、ヌ。「テ擎ユ、キ、ニサネヘム、キ、ニ、ッ、タ、オ、、。」)
 */
$conn oci_connect($user$password);
$stmt oci_parse($conn"select rowid from $table $where");
$rowid oci_new_descriptor($connOCI_D_ROWID);
oci_define_by_name($stmt"ROWID"$rowid);
oci_execute($stmt);
while (
oci_fetch($stmt)) {
    
$nrows oci_num_rows($stmt);
    
$delete oci_parse($conn"delete from $table where ROWID = :rid");
    
oci_bind_by_name($delete":rid"$rowid, -1OCI_B_ROWID);
    
oci_execute($delete);
    echo 
"$nrows\n";
    if ((
$nrows $commitsize) == 0) {
        
oci_commit($conn);
    }
}
$nrows oci_num_rows($stmt);
echo 
"$nrows deleted...\n";
oci_free_statement($stmt);
oci_close($conn);
?>
<?php
    
/* 、ウ、ホ・ケ・ッ・�ラ・ネ、マ LOB ・ォ・鬣爨ヒ・ユ・。・、・�「・テ・ラ・悅シ・ノ、ケ、�网ィ、キ、゙、ケ。」
     * LOB・ォ・鬣爨ヒ・「・テ・ラ・悅シ・ノ、ヤ、ヲ、ウ、ホホ网ヒエリ、ケ、�ユ・ゥ。シ・爨マ。「
     * <form action="upload.php3" method="post" enctype="multipart/form-data">
     * <input type="file" name="lob_upload" />
     * ... 、ホ、隍ヲ、ハ、筅ホ、ャサネヘム、オ、�゙、ケ。」
     */
  
if (!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload" /><br />
<input type="submit" value="Upload" /> - <input type="reset" value="Reset" />
</form>
<?php
  
} else {

     
// $lob_upload 、ヒ、マ。「・「・テ・ラ・悅シ・ノ、オ、�ソ・ユ・。・、・�ホー��ナェ、ハ・ユ・。・、・�セ、ャエ゙、゙、�゙、ケ

     // ーツチエ、ヒ・「・テ・ラ・悅シ・ノ、キ、ソ、、セ�遉マ。「・゙・ヒ・螂「・�ホ
     // ・ユ・。・、・�「・テ・ラ・悅シ・ノ、ヒエリ、ケ、�皃イセネ、ッ、タ、オ、、

     
$conn oci_connect($user$password);
     
$lob oci_new_descriptor($connOCI_D_LOB);
     
$stmt oci_parse($conn"insert into $table (id, the_blob)
               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob"
);
     
oci_bind_by_name($stmt':the_blob'$lob, -1OCI_B_BLOB);
     
oci_execute($stmtOCI_DEFAULT);
     if (
$lob->savefile($lob_upload)){
        
oci_commit($conn);
        echo 
"Blob 、ホ・「・テ・ラ・悅シ・ノ、マタョクキ、゙、キ、ソ\n";
     }else{
        echo 
"Blob 、「・テ・ラ・悅シ・ノ、ヌ、ュ、゙、サ、ヌ、キ、ソ\n";
     }
     
oci_free_descriptor($lob);
     
oci_free_statement($stmt);
     
oci_close($conn);
  }
?>

ホ�2 oci_new_descriptor() 、ホホ�

<?php
/* ニ�ホマ・ム・鬣癸シ・ソ、ネ、キ、ニ clob 、゙、� PL/SQL・ケ・ネ・「・ノ・ラ・愠キ。シ・ク・网�
 * ・ウ。シ・�ケ、� (PHP 4 >= 4.0.6) 。」
 * PL/SQL ・ケ・ネ・「・ノ・ラ・愠キ。シ・ク・网ホ・キ・ー・ヘ・チ・网マシ。、ホトフ、遙」
 *
 * PROCEDURE save_data
 *   Argument Name                  Type                    In/Out Default?
 *   ------------------------------ ----------------------- ------ --------
 *   KEY                            NUMBER(38)              IN
 *   DATA                           CLOB                    IN
 *
 */

$conn oci_connect($user$password);
$stmt oci_parse($conn"begin save_data(:key, :data); end;");
$clob oci_new_descriptor($connOCI_D_LOB);
oci_bind_by_name($stmt':key'$key);
oci_bind_by_name($stmt':data'$clob, -1OCI_B_CLOB);
$clob->write($data);
oci_execute($stmtOCI_DEFAULT);
oci_commit($conn);
$clob->free();
oci_free_statement($stmt);
?>

テ擎ユ

テ擎ユ:

PHP ・ミ。シ・ク・逾� 5.0.0 ーハチー、ヌ、マ。「ツ螟�熙ヒ ocinewdescriptor() 、ネヘム、キ、ハ、ア、�ミ、ハ、熙゙、サ、」 、゙、タ、ウ、ホフセチー、ネヘム、ケ、�ウ、ネ、ャ、ヌ、ュ。「イシーフク゚エケタュ、ホ、ソ、� oci_new_descriptor() 、リ、ホハフフセ、ネ、キ、ニサト、オ、�ニ、、、゙、ケ、ャ。「 ソ萓ゥ、オ、�゙、サ、」

サイケヘ


OCI8 エリソ�
PHP Manual