• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • OCI-Lob::load()

    (PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

    Returns large object's contents

    说明

    OCI-Lob::load(void): string

    Returns large object's contents. As script execution is terminated when the memory_limit is reached, ensure that the LOB does not exceed this limit. In most cases it's recommended to use OCI-Lob::read instead.

    返回值

    Returns the contents of the object, or FALSE on errors.

    参见

    • OCI-Lob::read
    Ps. To prevent IE errors like 'File not found!' after downloading file from db I recommend to add next two lines into header:
    header('Cache-Control: max-age=0');
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    With this, IE will open any file normally :)
    I'll give you example how to download a file from db without storing it on server's FS:
    It works like this - point yor browser to index.php?name=file.ext
    Just make sure that file "file.ext" exists in your db!
    Code:
    <?php
     $dbConnection=ocilogon('user','pass','data.world'); //login stuff
     $sql_SelectBlob='select document_body,filename from tdocuments where id=1'; //selecting a blob field named 'document_body' with id = 1
     $statement=OCIParse($dbConnection,$sql_SelectBlob);
     OCIExecute($statement) or die($sql_SelectBlob.'<hr>');
    if(OCIFetch($statement)) //if file exists
     {
     $a=OCIResult($statement,"DOCUMENT_BODY");
     }
    header('Content-type: application/octet-stream;');
    header('Content-disposition: attachment;filename='.$_GET['name']);
    print $a->load();
    //browser promts to save or open the file
    ?>
    Have fun!