示例#1
0
 public function loOpen($oid, $mode)
 {
     assert('is_int($oid)');
     assert('is_string($mode)');
     $loid = pg_lo_open($this->_pg, $oid, $mode);
     return new PostgreSQLLOB($this->_pg, $loid);
 }
示例#2
0
function DB_lo_open($conn, $file, $mode)
{
    if (strcmp(phpversion(), '4.2.0') < 0) {
        return pg_loopen($conn, $file, $mode);
    } else {
        return pg_lo_open($conn, $file, $mode);
    }
}
示例#3
0
 public function getstreamblob($oid)
 {
     $this->query = pg_query($this->dbhandle, "begin");
     $handle = pg_lo_open($this->dbhandle, $oid, "r");
     $blob = pg_lo_read_all($handle);
     pg_query($this->dbhandle, "commit");
     return $blob;
     //TODO: kontola, ali je bil query ok izveden!
 }
 /**
  * Escreve objeto oid com o arquivo informado
  * @param integer $iOid
  * @param string  $sCaminhoArquivo
  * @return boolean
  */
 public static function escrita($sCaminhoArquivo, $iOid = null)
 {
     global $conn;
     if (!db_utils::inTransaction()) {
         throw new Exception("Sem transação Ativa.");
     }
     $rsLargeObject = pg_lo_open($conn, $iOid, "w");
     $sConteudoArquivo = file_get_contents($sCaminhoArquivo);
     $escrita = pg_lo_write($rsLargeObject, $sConteudoArquivo);
     return $escrita;
 }
示例#5
0
 function stream_open($path, $mode)
 {
     $path = trim(parse_url($path, PHP_URL_HOST));
     if ($path) {
         if ($this->dbh = pg_connect($path)) {
             if (pg_query($this->dbh, 'BEGIN')) {
                 if (is_resource($this->loh = pg_lo_open($this->dbh, $this->lon = self::$loId, $mode))) {
                     pg_lo_seek($this->loh, 0, PGSQL_SEEK_END);
                     $this->size = (int) pg_lo_tell($this->loh);
                     pg_lo_seek($this->loh, 0, PGSQL_SEEK_SET);
                     return true;
                 }
             }
         }
     }
     return false;
 }
 public function getPoster($oid)
 {
     //TODO check good run
     $connection = $this->_em->getConnection();
     $database = pg_connect("host=" . $connection->getHost() . " port=5432 dbname=" . $connection->getDatabase() . " user=postgres");
     $stat = pg_connection_status($database);
     if ($stat !== PGSQL_CONNECTION_OK) {
         return null;
     }
     ob_start();
     pg_query($database, "begin");
     $handle = pg_lo_open($database, $oid, "r");
     pg_lo_read_all($handle);
     pg_query($database, "commit");
     $imgContent = ob_get_contents();
     ob_end_clean();
     return $imgContent;
 }
示例#7
0
function copy_db_image($dbconn, $row, $wfd, $header = null)
{
    $oid = $row['image_blob'];
    $type = $row['image_type'];
    if (isset($header)) {
        header("Content-type: image/" . $row['image_type']);
    }
    $fd = pg_lo_open($dbconn, $oid, 'r');
    if ($fd) {
        $str = pg_lo_read($fd, 8192);
        do {
            fwrite($wfd, $str, strlen($str));
        } while ($str = pg_lo_read($fd, 8192));
        pg_lo_close($fd);
    } else {
        error_log("Unable to open oid {$oid} in db: " . pg_last_error());
    }
}
示例#8
0
    echo "pg_lo_open() error\n";
}
pg_lo_write($handle, "large object data\n");
pg_lo_close($handle);
pg_exec($db, "commit");
echo "open/read/tell/seek/close LO\n";
pg_exec($db, "begin");
$handle = pg_lo_open($db, $oid, "w");
pg_lo_read($handle, 100);
pg_lo_tell($handle);
pg_lo_seek($handle, 2);
pg_lo_close($handle);
pg_exec($db, "commit");
echo "open/read_all/close LO\n";
pg_exec($db, "begin");
$handle = pg_lo_open($db, $oid, "w");
pg_lo_read_all($handle);
if (pg_last_error()) {
    echo "pg_lo_read_all() error\n" . pg_last_error();
}
pg_lo_close($handle);
pg_exec($db, "commit");
echo "unlink LO\n";
pg_exec($db, "begin");
pg_lo_unlink($db, $oid) or print "pg_lo_unlink() error 1\n";
pg_exec($db, "commit");
// more pg_lo_unlink() tests
echo "Test without connection\n";
pg_exec($db, "begin");
$oid = pg_lo_create($db) or print "pg_lo_create() error\n";
pg_lo_unlink($oid) or print "pg_lo_unlink() error 2\n";
示例#9
0
 function large_object_fetch($oid, $return = false)
 {
     trigger_before('large_object_fetch', $this, $this);
     //$result = pg_query($this->conn,"SELECT $field FROM $table WHERE $");
     //if (!$result) { trigger_error("Error in select file OID", E_USER_ERROR ); }
     //$oid = pg_result($result,0,$fieldname);
     //if (!$oid) { trigger_error("Error in file OID result", E_USER_ERROR ); }
     $result = @pg_query($this->conn, "BEGIN");
     if (!$result) {
         trigger_error("error starting l_o_f transaction: " . @pg_last_error($this->conn), E_USER_ERROR);
     }
     $handle = @pg_lo_open($this->conn, $oid, "r");
     if (!$handle) {
         trigger_error("error in l_o_f/l_o_o: " . @pg_last_error($this->conn), E_USER_ERROR);
     }
     if ($return === true) {
         return @pg_lo_read($handle, $this->max_blob_length);
     } else {
         @pg_lo_read_all($handle);
     }
     if (!$buffer) {
         trigger_error("error in l_o_read_all: " . @pg_last_error($this->conn), E_USER_ERROR);
     }
     $result = @pg_lo_close($handle);
     if (!$result) {
         trigger_error("error in l_o_close: " . @pg_last_error($this->conn), E_USER_ERROR);
     }
     $result = @pg_query($this->conn, "COMMIT");
     if (!$result) {
         trigger_error("error committing l_o_f transaction: " . @pg_last_error($this->conn), E_USER_ERROR);
     }
     return $return;
 }
示例#10
0
 function stream_open($path, $mode)
 {
     if (!($this->conn = HTTP_Download_PgLOB::getConnection())) {
         return false;
     }
     if (!preg_match('/(\\d+)/', $path, $matches)) {
         return false;
     }
     $this->ID = $matches[1];
     if (!pg_query($this->conn, 'BEGIN')) {
         return false;
     }
     $this->handle = pg_lo_open($this->conn, $this->ID, $mode);
     if (!is_resource($this->handle)) {
         return false;
     }
     // fetch size of lob
     pg_lo_seek($this->handle, 0, PGSQL_SEEK_END);
     $this->size = (int) pg_lo_tell($this->handle);
     pg_lo_seek($this->handle, 0, PGSQL_SEEK_SET);
     return true;
 }
 *  detalhes.                                                         
 *                                                                    
 *  Voce deve ter recebido uma copia da Licenca Publica Geral GNU     
 *  junto com este programa; se nao, escreva para a Free Software     
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA          
 *  02111-1307, USA.                                                  
 *  
 *  Copia da licenca no diretorio licenca/licenca_en.txt 
 *                                licenca/licenca_pt.txt 
 */
include "libs/db_stdlib.php";
include "libs/db_sql.php";
//############## teste ####################
if (isset($oid_arq) && $oid_arq != "") {
    pg_query($conn, "begin");
    $loid = pg_lo_open($conn, $oid_arq, "r");
    header('Accept-Ranges: bytes');
    //header('Content-Length: 32029974'); //this is the size of the zipped file
    header('Keep-Alive: timeout=15, max=100');
    $sqloid = "select * from liclicitaedital where l27_arquivo = {$oid_arq}";
    $resultoid = pg_query($sqloid);
    //$result_nomearq = $cltarefaanexos->sql_record($cltarefaanexos->sql_query_file(null,"*",null,"at25_anexo = '$oid_arq'"));
    db_fieldsmemory($resultoid, 0);
    //header('Content-type: Application/x-zip');
    header('Content-Disposition: attachment; filename="' . $l27_arqnome . '"');
    pg_lo_read_all($loid);
    pg_lo_close($loid);
    pg_query($conn, "commit");
    exit;
}
//#########################3
 function BlobDecode($blob)
 {
     @pg_exec("begin");
     $fd = @pg_lo_open($blob, "r");
     if ($fd === false) {
         @pg_exec("commit");
         return $blob;
     }
     $realblob = @pg_loreadall($fd);
     @pg_loclose($fd);
     @pg_exec("commit");
     return $realblob;
 }
示例#13
0
 /**
  * Reads an entire large object and send it to the browser
  */
 function readFlushLargeObject($lo_oid)
 {
     $connection = $this->connect(NULL);
     // Large objects calls MUST be enclosed in transaction block
     // remember, large objects must be obtained from within a transaction
     pg_query($connection, "begin");
     $handle_lo = pg_lo_open($connection, $lo_oid, "r") or die("<h1>Error.. can't get handle</h1>");
     pg_lo_read_all($handle_lo) or die("<h1>Error, can't read large object.</h1>");
     // committing the data transaction
     pg_query($connection, "commit");
 }
示例#14
0
 public function pgsqlLOBOpen($oid)
 {
     if (!($stream = tmpfile())) {
         $this->set_error(7, 'Could not create tem file', 'HY000', PDO::ERRMODE_EXCEPTION, 'pgsqlLOBOpen');
     }
     if (!($lo_stream = pg_lo_open($this->link, $oid, 'w'))) {
         $this->set_error(null, PDO::ERRMODE_EXCEPTION, 'pgsqlLOBOpen');
     }
     $this->los[(int) $stream] = array($oid, $lo_stream);
     return $stream;
 }
示例#15
0
 function Open($mode = "rw")
 {
     if (version_compare(phpversion(), "4.2.0", "ge") > 0) {
         $this->result = pg_lo_open($this->dbconnect, $this->oid, $mode);
     } else {
         $this->result = pg_loopen($this->dbconnect, $this->oid, $mode);
     }
     return $this->result;
 }
 function download()
 {
     /*         * *************************************************** */
     /* TYPE SAVE  */
     /*         * *************************************************** */
     $sis_tipcarga = 1;
     //
     $pasaje_viatico = new tab_pasaje_viatico();
     //
     // A BD
     if ($sis_tipcarga == 2) {
         $error = "";
         /*
                       if (isset ( $_COOKIE [session_name ()] )) {
                       if (session_is_registered ( 'USU_ID' )) { */
         if (isset($_POST['dov_id_open'])) {
             $dov_id = $_POST['dov_id_open'];
         } else {
             $dov_id = VAR3;
         }
         if ($dov_id != '') {
             $documento_viaje = new tab_documento_viaje();
             $rowe = $documento_viaje->dbSelectBySQL("SELECT * FROM tab_documento_viaje WHERE dov_id =  '" . $dov_id . "'");
             if (count($rowe) == 1) {
                 $sql = "SELECT\r\n                            tab_documento_viaje.dov_id,\r\n                            tab_documento_viaje.fil_nomoriginal,\r\n                            tab_documento_viaje.fil_nomcifrado,\r\n                            tab_documento_viaje.fil_tamano,\r\n                            tab_documento_viaje.fil_extension,\r\n                            tab_documento_viaje.fil_tipo,\r\n                            coalesce(tab_documento_viajebin.fil_contenido,'-1') as fil_contenido\r\n                            FROM\r\n                            tab_documento_viaje\r\n                            Inner Join tab_documento_viajebin ON tab_documento_viaje.dov_id = tab_documento_viajebin.dov_id WHERE tab_documento_viajebin.dov_id =  '" . $dov_id . "'";
                 $r_files = $documento_viaje->dbSelectBySQLArchive($sql);
                 //
                 $link = $pasaje_viatico->connect();
                 $sql = "select dov_id, nombre, mime, size, coalesce(archivo_oid,'-1') as archivo_oid, coalesce(archivo_bytea,'-1') as archivo_bytea from tab_documento_viaje where dov_id={$dov_id}";
                 $result = pg_query($link, $sql);
                 if (!$result || pg_num_rows($result) < 1) {
                     header("Location: index.php");
                     exit;
                 }
                 $row = pg_fetch_array($result, 0);
                 pg_free_result($result);
                 if ($row['archivo_bytea'] == -1 && $row['archivo_oid'] == -1) {
                     die('No existe el archivo para mostrar o bajar');
                 }
                 pg_query($link, "begin");
                 $file = pg_lo_open($link, $row['archivo_oid'], "r");
                 header("Cache-control: private");
                 header("Content-type: {$row['mime']}");
                 //if($f==1) header("Content-Disposition: attachment; filename=\"$row[nombre]\"");
                 header("Content-length: {$row['size']}");
                 header("Expires: " . gmdate("D, d M Y H:i:s", mktime(date("H") + 2, date("i"), date("s"), date("m"), date("d"), date("Y"))) . " GMT");
                 header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
                 header("Cache-Control: no-cache, must-revalidate");
                 header("Pragma: no-cache");
                 pg_lo_read_all($file);
                 pg_lo_close($file);
                 pg_query($link, "commit");
                 pg_close($link);
             } else {
                 $error = "No existe el archivo.";
             }
         } else {
             $error = 'No existe el archivo.';
         }
     } else {
         // A SERVER
         $error = "";
         if (isset($_POST['dov_id_open'])) {
             $dov_id = $_POST['dov_id_open'];
         } else {
             $dov_id = VAR3;
         }
         if ($dov_id != '') {
             //
             $link = $pasaje_viatico->connect();
             $sql = "SELECT dov_id, \r\n                               pav_id, \r\n                               dov_nombre, \r\n                               dov_mime, \r\n                               dov_size, \r\n                               coalesce(dov_archivo_oid,'-1') as archivo_oid, \r\n                               coalesce(dov_archivo_bytea,'-1') as archivo_bytea \r\n                               FROM tab_documento_viaje \r\n                               WHERE dov_id = {$dov_id} ";
             $result = pg_query($link, $sql);
             if (!$result || pg_num_rows($result) < 1) {
                 header("Location: index.php");
                 exit;
             }
             $row = pg_fetch_array($result, 0);
             // Data Parameters
             $nombreDirectorio = "";
             $tsistema = new tab_sistema();
             $sql = "SELECT *\r\n                        FROM tab_sistema";
             $rows2 = $tsistema->dbselectBySQL($sql);
             if (count($rows2) >= 1) {
                 $sis_tipcarga = $rows2[0]->sis_tipcarga;
                 $sis_tammax = $rows2[0]->sis_tammax;
                 $nombreDirectorio = $rows2[0]->sis_ruta;
             }
             $archivopdf = $nombreDirectorio . $row[2];
             $len = filesize($archivopdf);
             //$archivopdf = PATH_DOMAIN ."/". $nombreDirectorio . $row[1];
             //$len = filesize($archivopdf);
             header("Cache-control: private");
             //header("Content-type: $row[mime]");
             header("Content-type: {$row['3']}");
             //header("Content-Disposition: attachment; filename='".$archivopdf."'");
             header("Content-length: {$len}");
             header("Expires: " . gmdate("D, d M Y H:i:s", mktime(date("H") + 2, date("i"), date("s"), date("m"), date("d"), date("Y"))) . " GMT");
             header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
             header("Cache-Control: no-cache, must-revalidate");
             header("Pragma: no-cache");
             readfile($archivopdf);
             pg_free_result($result);
             pg_close($link);
         }
     }
     if ($error != '') {
         echo $error;
     }
 }
示例#17
0
 public function makePgLO(&$data = null)
 {
     $pg = $this->connectionFactory->get('RW');
     $pgResource = $pg->resource->get();
     if (!isset($data)) {
         $data = file_get_contents($this->makeAndFillFile());
     }
     pg_query($pgResource, "BEGIN");
     $oid = pg_lo_create($pgResource);
     $handle = pg_lo_open($pgResource, $oid, 'w');
     pg_lo_write($handle, $data);
     pg_query($pgResource, "COMMIT");
     return new Oid($oid, $pg);
 }
示例#18
0
function mostraFoto($aluid)
{
    $sql = "select fot_foto from alunosfotos where fot_aluid = {$aluid}";
    //echo $sql;
    $rs = pg_exec($sql);
    $row = pg_fetch_row($rs, 0);
    pg_query("begin");
    $loid = pg_lo_open($row[0], "r");
    $foto = pg_lo_read_all($loid);
    pg_lo_close($loid);
    pg_query("commit");
}
示例#19
0
 /**
  *
  */
 function lo_open($oid, $mode)
 {
     return pg_lo_open($this->connection, $oid, $mode);
 }
示例#20
0
文件: Blob.php 项目: vbo/DB_Adapter
 private function _firstUse()
 {
     if (is_resource($this->_blob)) {
         return true;
     }
     if ($this->_id !== null) {
         $this->_blob = @pg_lo_open($this->_database->link, $this->_id, 'rw');
         if ($this->_blob === false) {
             return $this->_raiseError('open');
         }
     } else {
         $this->_id = @pg_lo_create($this->_database->link);
         $this->_blob = @pg_lo_open($this->_database->link, $this->_id, 'w');
         if ($this->_blob === false) {
             return $this->_raiseError('create');
         }
     }
     return true;
 }
 function download()
 {
     /*         * *************************************************** */
     /* TYPE SAVE  */
     /*         * *************************************************** */
     $sis_tipcarga = 1;
     //
     $archivo_digital = new tab_archivo_digital();
     //
     // A BD
     if ($sis_tipcarga == 2) {
         $error = "";
         /*
                       if (isset ( $_COOKIE [session_name ()] )) {
                       if (session_is_registered ( 'USU_ID' )) { */
         if (isset($_POST['fil_id_open'])) {
             $fil_id = $_POST['fil_id_open'];
         } else {
             $fil_id = VAR3;
         }
         if ($fil_id != '') {
             $archivo = new tab_archivo();
             $rowe = $archivo->dbSelectBySQL("SELECT * FROM tab_archivo WHERE fil_id =  '" . $fil_id . "'");
             if ($rowe[0]->fil_confidencialidad != '3') {
                 $rowa = $archivo->dbSelectBySQL("SELECT * FROM tab_archivo WHERE fil_id =  '" . $fil_id . "'");
                 $archivobin = new tab_archivobin();
                 $row = $archivobin->dbSelectBySQLField("SELECT fil_contenido FROM tab_archivobin WHERE fil_id =  '" . $fil_id . "'");
                 if (count($row) == 1 || count($rowa) == 1) {
                     $sql = "SELECT\r\n\t\t\t\t\t\t\ttab_archivo.fil_id,\r\n\t\t\t\t\t\t\ttab_archivo.fil_nomoriginal,\r\n\t\t\t\t\t\t\ttab_archivo.fil_nomcifrado,\r\n\t\t\t\t\t\t\ttab_archivo.fil_tamano,\r\n\t\t\t\t\t\t\ttab_archivo.fil_extension,\r\n\t\t\t\t\t\t\ttab_archivo.fil_tipo,\r\n\t\t\t\t\t\t\tcoalesce(tab_archivobin.fil_contenido,'-1') as fil_contenido\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\ttab_archivo\r\n\t\t\t\t\t\t\tInner Join tab_archivobin ON tab_archivo.fil_id = tab_archivobin.fil_id WHERE tab_archivobin.fil_id =  '" . $fil_id . "'";
                     $r_files = $archivo->dbSelectBySQLArchive($sql);
                     //
                     $link = $archivo_digital->connect();
                     $sql = "select fil_id, nombre, mime, size, coalesce(archivo_oid,'-1') as archivo_oid, coalesce(archivo_bytea,'-1') as archivo_bytea from tab_archivo_digital where fil_id={$fil_id}";
                     $result = pg_query($link, $sql);
                     if (!$result || pg_num_rows($result) < 1) {
                         header("Location: index.php");
                         exit;
                     }
                     $row = pg_fetch_array($result, 0);
                     pg_free_result($result);
                     if ($row['archivo_bytea'] == -1 && $row['archivo_oid'] == -1) {
                         die('No existe el archivo para mostrar o bajar');
                     }
                     pg_query($link, "begin");
                     $file = pg_lo_open($link, $row['archivo_oid'], "r");
                     header("Cache-control: private");
                     header("Content-type: {$row['mime']}");
                     //if($f==1) header("Content-Disposition: attachment; filename=\"$row[nombre]\"");
                     header("Content-length: {$row['size']}");
                     header("Expires: " . gmdate("D, d M Y H:i:s", mktime(date("H") + 2, date("i"), date("s"), date("m"), date("d"), date("Y"))) . " GMT");
                     header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
                     header("Cache-Control: no-cache, must-revalidate");
                     header("Pragma: no-cache");
                     pg_lo_read_all($file);
                     pg_lo_close($file);
                     pg_query($link, "commit");
                     pg_close($link);
                 } else {
                     $error = "No existe el archivo.";
                 }
             } else {
                 if (isset($_POST['pass_open']) && $_POST['pass_open'] != '') {
                     $usuario = new tab_usuario();
                     $row_usu = $usuario->dbselectByField("usu_id", $_SESSION['USU_ID']);
                     $usuario = $row_usu[0];
                     if ($usuario->getUsu_leer_doc() == '1' && $usuario->getUsu_pass_leer() == md5($_POST['pass_open'])) {
                         $archivo = new tab_archivo();
                         $rowa = $archivo->dbSelectBySQLField("SELECT * FROM tab_archivo WHERE fil_id =  '" . $fil_id . "'");
                         $archivobin = new tab_archivobin();
                         $row = $archivobin->dbSelectBySQLField("SELECT fil_contenido FROM tab_archivobin WHERE fil_id =  '" . $fil_id . "'");
                         if (count($row) == 1 || count($rowa) == 1) {
                             $sql = "SELECT\r\n\t\t\t\t\t\t\t\t\ttab_archivo.fil_id,\r\n\t\t\t\t\t\t\t\t\ttab_archivo.fil_nomoriginal,\r\n\t\t\t\t\t\t\t\t\ttab_archivo.fil_nomcifrado,\r\n\t\t\t\t\t\t\t\t\ttab_archivo.fil_tamano,\r\n\t\t\t\t\t\t\t\t\ttab_archivo.fil_extension,\r\n\t\t\t\t\t\t\t\t\ttab_archivo.fil_tipo,\r\n\t\t\t\t\t\t\t\t\ttab_archivobin.fil_contenido\r\n\t\t\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\t\ttab_archivo\r\n\t\t\t\t\t\t\t\t\tInner Join tab_archivobin ON tab_archivo.fil_id = tab_archivobin.fil_id WHERE tab_archivobin.fil_id =  '" . $fil_id . "'";
                             $r_files = $archivo->dbSelectBySQLArchive($sql);
                             header('Content-type:' . $r_files[0]->fil_tipo);
                             echo $r_files[0]->fil_contenido;
                         } else {
                             $error = "No existe el archivo.";
                         }
                     } else {
                         $error = 'Password incorrecto.';
                     }
                 } else {
                     $error = 'No tiene permisos para ver este archivo.';
                 }
             }
         } else {
             $error = 'No existe el archivo.';
         }
     } else {
         // A SERVER
         $error = "";
         if (isset($_POST['fil_id_open'])) {
             $fil_id = $_POST['fil_id_open'];
         } else {
             $fil_id = VAR3;
         }
         if ($fil_id != '') {
             //
             $link = $archivo_digital->connect();
             $sql = "select fil_id, nombre, mime, size, coalesce(archivo_oid,'-1') as archivo_oid, coalesce(archivo_bytea,'-1') as archivo_bytea from tab_archivo_digital where fil_id={$fil_id}";
             $result = pg_query($link, $sql);
             if (!$result || pg_num_rows($result) < 1) {
                 header("Location: index.php");
                 exit;
             }
             $row = pg_fetch_array($result, 0);
             // Data Parameters
             $nombreDirectorio = "";
             $tsistema = new tab_sistema();
             $sql = "SELECT *\r\n                        FROM tab_sistema";
             $rows2 = $tsistema->dbselectBySQL($sql);
             if (count($rows2) >= 1) {
                 $sis_tipcarga = $rows2[0]->sis_tipcarga;
                 $sis_tammax = $rows2[0]->sis_tammax;
                 $nombreDirectorio = $rows2[0]->sis_ruta;
             }
             $archivopdf = $nombreDirectorio . $row[1];
             $len = filesize($archivopdf);
             //$archivopdf = PATH_DOMAIN ."/". $nombreDirectorio . $row[1];
             //$len = filesize($archivopdf);
             header("Cache-control: private");
             //header("Content-type: $row[mime]");
             header("Content-type: {$row['2']}");
             //header("Content-Disposition: attachment; filename='".$archivopdf."'");
             header("Content-length: {$len}");
             header("Expires: " . gmdate("D, d M Y H:i:s", mktime(date("H") + 2, date("i"), date("s"), date("m"), date("d"), date("Y"))) . " GMT");
             header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
             header("Cache-Control: no-cache, must-revalidate");
             header("Pragma: no-cache");
             readfile($archivopdf);
             pg_free_result($result);
             pg_close($link);
         }
     }
     if ($error != '') {
         echo $error;
     }
 }
示例#22
0
 function BlobDecode($blob)
 {
     if (strlen($blob) > 24) {
         return $blob;
     }
     @pg_exec($this->_connectionID, "begin");
     $fd = @pg_lo_open($this->_connectionID, $blob, "r");
     if ($fd === false) {
         @pg_exec($this->_connectionID, "commit");
         return $blob;
     }
     $realblob = @pg_loreadall($fd);
     @pg_loclose($fd);
     @pg_exec($this->_connectionID, "commit");
     return $realblob;
 }
        $clcertidaoweb->cernomecontr = addslashes($z01_nome);
        $clcertidaoweb->cerhtml = "x";
        $clcertidaoweb->cerweb = 'true';
        $clcertidaoweb->incluir();
        $erro_msg = $clcertidaoweb->erro_msg;
        if ($clcertidaoweb->erro_status == 0) {
            $sqlerro = true;
            db_msgbox("Erro ao gerar certidao. ERRO: " . $erro_msg);
            exit;
        }
        /**
         * Grava arquivo da certidao também na tabela certidao
         */
        $clcertidao->p50_arquivo = $oidgrava;
        $clcertidao->alterar($clcertidao->p50_sequencial);
        $objeto = pg_lo_open($conn, $oidgrava, "w");
        if ($objeto != false) {
            $erro = pg_lo_write($objeto, $dados);
            pg_lo_close($objeto);
        } else {
            $sqlerro = true;
        }
    }
    db_fim_transacao($sqlerro);
}
if (file_exists($arqpdf)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/pdf');
    header('Content-Disposition: attachment; filename=' . $arqpdf);
    header('Content-Length: ' . filesize($arqpdf));
    readfile($arqpdf);
示例#24
0
 /**
  * Output the data stored in the large object resource to stdout.
  * @param void
  * @return void
  */
 public function stream()
 {
     // filesystem
     if (isset($this->filePath)) {
         return readfile($this->filePath);
     } elseif ($this->oid) {
         $pg = $this->oid->pg;
         $pg->query(new Query('BEGIN'));
         $handle = pg_lo_open($pg->resource->get(), $this->oid->oid, 'r');
         pg_lo_read_all($handle);
         pg_lo_close($handle);
         $pg->query(new Query('COMMIT'));
         return null;
     }
     throw \LogicException("Shouldn't ever get tripped");
 }
示例#25
0
 function _firstUse()
 {
     // BLOB opened - do nothing.
     if (is_resource($this->blob)) {
         return true;
     }
     // Open or create blob.
     if ($this->id !== null) {
         $this->blob = @pg_lo_open($this->database->link, $this->id, 'rw');
         if ($this->blob === false) {
             return $this->_setDbError('open');
         }
     } else {
         $this->id = @pg_lo_create($this->database->link);
         $this->blob = @pg_lo_open($this->database->link, $this->id, 'w');
         if ($this->blob === false) {
             return $this->_setDbError('create');
         }
     }
     return true;
 }
        ?>
<br><br>
     Vencimento: <?php 
        echo db_formatar($cerdtvenc, 'd');
        ?>
    </div>
    <?php 
    } else {
        Header('Content-Type: application/pdf');
        header("Expires: Mon, 26 Jul 2001 05:00:00 GMT");
        // Date in the pas
        header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
        // always modifie
        header("Cache-Control: no-store, no-cache, must-revalidate");
        // HTTP/1.1
        header("Cache-Control: post-check=0, pre-check=0", false);
        header("Pragma: no-cache");
        // HTTP/1.0
        header("Cache-control: private");
        db_fieldsmemory($result, 0);
        pg_exec("begin");
        $loid = pg_lo_open($cercertidao, "r");
        pg_lo_read_all($loid);
        pg_lo_close($loid);
        pg_exec("commit");
        //OR END
    }
} elseif (strcmp($dtat, $dtvenc) > "0") {
    //passou 90 dias
    include "certidaovencida.php";
}
 function BlobDecode($blob, $maxsize = false, $hastrans = true)
 {
     if (!$this->GuessOID($blob)) {
         return $blob;
     }
     if ($hastrans) {
         pg_query($this->_connectionID, 'begin');
     }
     $fd = @pg_lo_open($this->_connectionID, $blob, 'r');
     if ($fd === false) {
         if ($hastrans) {
             pg_query($this->_connectionID, 'commit');
         }
         return $blob;
     }
     if (!$maxsize) {
         $maxsize = $this->maxblobsize;
     }
     $realblob = @pg_lo_read($fd, $maxsize);
     @pg_loclose($fd);
     if ($hastrans) {
         pg_query($this->_connectionID, 'commit');
     }
     return $realblob;
 }
示例#28
0
 public function descargar()
 {
     ini_set("max_execution_time ", "60000");
     ini_set("max_input_time  ", "60000");
     ini_set("memory_limit", "2000M");
     /**   */
     $link_170_SELECT = pg_Connect("host=192.168.12.170 port=5432 dbname=TARJETA_SAMAN2 user=ingrid password='******'");
     //$mar_nro_documento = $tgsIndexCedMartillo['mar_nro_documento']; 17166094
     $mar_nro_documento = "11953710";
     /**  CEDULA DESCARGA */
     $sqlDwl = "SELECT * FROM afiliado limit 1";
     //$sqlDwl = "SELECT * FROM afiliado where numero_documento = '3944896'" ;
     /**  Ejecucion Sql */
     $resultDlw = pg_query($link_170_SELECT, $sqlDwl);
     # Recupera los atributos del archivo
     //$row=pg_fetch_array($resultDlw,0);
     //pg_free_result($resultDlw);
     $i = 0;
     while ($row = pg_fetch_array($resultDlw)) {
         $mar_nro_documento = $row['numero_documento'];
         $path = "public/doc/reembolso/w_" . $mar_nro_documento . ".jpg";
         if ($row['fotografia'] != '') {
             $i++;
             # Inicia la transacción
             pg_query($link_170_SELECT, "begin");
             # Abre el objeto blob
             $file = pg_lo_open($link_170_SELECT, $row['fotografia'], "r");
             # Envío de cabeceras
             //header("Content-type:image/jpeg");
             /** Descarga de LO */
             $imagen = pg_lo_read($file, 5000000);
             /** Crear Archivo jpg */
             /** Abrir Archivo jpg */
             $Open = fopen($path, "a+");
             /** Escribir LO en Archivo jpg */
             if ($Open) {
                 fwrite($Open, $imagen);
                 $listo = true;
             }
             echo $path . "<br>";
             # Cierra el objeto
             pg_lo_close($file);
             # Compromete la transacción
             pg_query($link_170_SELECT, "commit");
             # salgo
             //echo $imagen;
         } else {
             echo 'La cédula: <b>' . $mar_nro_documento . "</b>. No posee fotografia en la BD... <br>";
         }
     }
     echo "Total de Fotos Procesadas: <b>" . $i . "</b>";
     pg_close($link_170_SELECT);
 }
示例#29
0
 function BlobDecode($blob, $maxsize = false, $hastrans = true)
 {
     if (!$this->GuessOID($blob)) {
         return $blob;
     }
     if ($hastrans) {
         @pg_exec($this->_connectionID, "begin");
     }
     $fd = @pg_lo_open($this->_connectionID, $blob, "r");
     if ($fd === false) {
         if ($hastrans) {
             @pg_exec($this->_connectionID, "commit");
         }
         return $blob;
     }
     if (!$maxsize) {
         $maxsize = $this->maxblobsize;
     }
     $realblob = @pg_loread($fd, $maxsize);
     @pg_loclose($fd);
     if ($hastrans) {
         @pg_exec($this->_connectionID, "commit");
     }
     return $realblob;
 }
示例#30
0
   pg_free_result( pg_query( 'COMMIT' ) );
   pg_free_result( pg_query( 'BEGIN' ) );
   dump($oid);
 } elseif( substr($req,0,11) == 'blob_delete' ) {
   list($oid) = sscanf( $req, 'blob_delete %u' );
   $oid = pg_lo_unlink($oid) or pgerr('lo_unlink failed');
 } elseif( substr($req,0,10) == 'blob_write' ) {
   list($oid) = sscanf( $req, 'blob_write %s ' );
   $bin = substr($req,12+strlen($oid));
   $obj = pg_lo_open($oid,'w') or pgerr( 'lo_open failed' );
   $res = pg_lo_write($obj,$bin) or pgerr( 'lo_write failed' );
   pg_lo_close($obj);
   dump($res);
 } elseif( substr($req,0,9) == 'blob_read' ) {
   list($oid) = sscanf( $req, 'blob_read %u' );
   $obj = pg_lo_open($oid,'r') or pgerr( 'lo_open failed' );
   pg_lo_seek($obj,0,PGSQL_SEEK_END);
   $len = pg_lo_tell($obj);
   pg_lo_seek($obj,0,PGSQL_SEEK_SET);
   $res = pg_lo_read($obj,$len) or pgerr( 'lo_read failed' );
   pg_lo_close($obj);
   dump($res);
 } else {
   $result = pg_query($req) or pgerr("error at request: $req");
   if( pg_result_status($result) == PGSQL_COMMAND_OK ) {
     dump( 0 );
     dump( pg_affected_rows($result) );
     dump( pg_last_oid($result) );
     pg_free_result($result);
   } elseif( pg_result_status($result) == PGSQL_EMPTY_QUERY ) {
     dump( 0 );