function DB_lo_read_all($id) { if (strcmp(phpversion(), '4.2.0') < 0) { return pg_loreadall($id); } else { return pg_lo_read_all($id); } }
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! }
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; }
/** * 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"); }
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; }
?> <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 Read() { if (!$this->oid) { echo "{$this->error}<br>\n"; } else { if (version_compare(phpversion(), "4.2.0", "ge") > 0) { $this->result = pg_lo_read_all($this->result, $data); } else { $this->result = pg_loreadall($this->result, $data); } } 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; } }
/** * */ function lo_read_all($handle) { return pg_lo_read_all($handle); }
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; } }
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"); }
} 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"; pg_exec($db, "commit");
/** * 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"); }