Please note, that contents of LOB is cleared after this operation. If you want to use LOB data after exporting it to file, you should read it from file with file_get_contents().
This will not work:
<?php
if($blob) {
$filename = DOCUMENT_ROOT."/".$bildId.".jpg";
if($blob->export($filename)) {
while(!$blob->eof()){
$dbResult .= $blob->read(2000);
}
} else {
throw new Exception("Can not save the file ".$filename."!");
}
}
?>
Use this instead:
<?php
if($blob) {
$filename = DOCUMENT_ROOT."/".$bildId.".jpg";
if($blob->export($filename)) {
$dbResult = file_get_contents($filename);
} else {
throw new Exception("Can not save the file ".$filename."!");
}
}
?>
OCI-Lob::export
(PHP 5, PECL OCI8 >= 1.1.0)
OCI-Lob::export — LOB の内容をファイルに出力する
説明
bool OCI-Lob::export
( string
$filename
[, int $start
[, int $length
]] )LOB の内容をファイルに出力します。
パラメータ
-
filename -
ファイルへのパス。
-
start -
出力を開始する位置。
-
length -
出力するデータの長さ。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
AlexiuS ¶
2 months ago
