Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/07/2008, 13:42
Avatar de JaimeVasquez
JaimeVasquez
 
Fecha de Ingreso: junio-2008
Mensajes: 5
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: BLOB en Oracle de Window a Linux via PHP

...mmm ..gracias por las respuestas pero aun me queda la duda de como acceder al arreglo, tengo esto escrito por si me pueden indicar que estoy haciendo mal

A modo de disculpas por estas consultas debo indicar que estoy viendo php y javascript hace 1 semana asi que mis conocimientos no son muy extensos (siendo muuuy amable) al respecto

subir.php:
<?php
$ruta_a_subir = addslashes('uploads/');
if(move_uploaded_file($_FILES['lob_upload']['tmp_name'], $ruta_a_subir))
{
echo 'El archivo se subio con exito';
}
else
{
echo 'Ocurrio un error subiendo el archivo';
}
?>

BscImagen.php

<html>
<head>
<title>Ejemplo de uso simple en envío y recepción de parámetros con PHP</title>
</head>
<body>
<?php

if(!isset($_POST['lob_upload']) || $_POST['lob_upload'] == 'none')
{
?>
<form enctype="multipart/form-data" action="subir.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="10000">
Seleccionar Archivo: <input name="lob_upload" type="file">
<input type="submit" value="Subir">
</form>

<?php

}
else
{
/************************************************** *****************/
/* Se realiza la carga de variables de ambiente e inicio de sesion */
/************************************************** *****************/
//phpinfo();

$Conn = ocilogon('system', 'tornado', 'XE');
include ('extrae.php');

$sql = "select count(*)indice from jaime_imagen";
$stmt = OCIParse($Conn, $sql);
$rs = OCIExecute($stmt, OCI_DEFAULT);
if (!$rs)
{
$e = OCIError($stmt);
$_SESSION['SQL_Error'] = $e['message'];
return false;
}
if ($rs > 0 )
$indice = $rs+1;
else
$indice = 1;

print "Prueba:".$_POST;

/************************************************** **/
/* Extraigo los datos que restan para ser asignados */
/************************************************** **/
$lob_description = $_POST['lob_description'];
$path_upload = $_POST['lob_upload'];
$lob_upload_name = extrae_nomarch($path_upload);
$lob_upload = addslashes( file_get_contents( $lob_upload_name ) );
$lob_upload_type = filetype($lob_upload_name);
$lob_upload_size = filesize($lob_upload_name);

print '<table border="1">';
print '<tr><td>Indice : '.$indice.'</td></tr>';
print '<tr><td>Descripción: '.$lob_description.'</td></tr>';
print '<tr><td>Path+Nombre: '.$path_upload.'</td></tr>';
print '<tr><td>Nombre : '.$lob_upload_name.'</td></tr>';
print '<tr><td>Tamaño : '.$lob_upload_size.'</td></tr>';
print '<tr><td>Tipo : '.$lob_upload_type.'</td></tr>';
print '<tr><td>Mime : '.mime_content_type($lob_upload_name).'</td></tr>';
print '</table>';

$lob = OCINewDescriptor($Conn, OCI_D_LOB);
$stmt = OCIParse($Conn,"INSERT INTO jaime_imagen (id,description,bin_data,filename,filesize,filetyp e) VALUES (BINARY_DATAID.NEXTVAL,'$lob_description',EMPTY_BL OB(),'$lob_upload_name','$lob_upload_size','$lob_u pload_type') returning BIN_DATA into :the_blob");
OCIBindByName($stmt, ':the_blob', &$lob, -1, OCI_B_BLOB);

print '<table border="1">';
print '<tr><td>Indice : '.$stmt.'</td></tr>';
print '</table>';

OCIExecute($stmt,OCI_DEFAULT);
if($lob->savefile($lob_upload))
{
OCICommit($Conn);
echo "Archivo fue cargado correctamente\n<br>";
echo "<a href=show.php>SHOW FILES</a>";
}
else
{
echo "No se pudo cargar el archivo Blob\n";
}
OCIFreeStatement($stmt);
OCILogoff($Conn);



}

?>
</body>
</html>

extrae.php
<?php
function extrae_nomarch($nombre)
{
$maxlen = strlen($nombre);
for ($i=$maxlen; $i>=1; $i--)
{
if(substr($nombre, $i, 1) == chr(92))
return substr($nombre, $i+1, strlen($nombre));
}
}

?>