tengo una pagina en la que desde una Base de Datos recojo los datos de un informe, si tiene documento asociado, aparece un chekbox con el nombre del documento, precedido de un campo para poner un documento diferente si fuese el caso esto lo hago con:
Código PHP:
<input name="nombre1" type="file" class="casillas" size="30">
<? if($row ['Documento']!= "") {
echo '<input type="checkbox" name="checkbox" checked >'.$row ['Nombre'];
}else{
echo '<input type="hidden" name="checkbox" unchecked>'.$row ['Nombre'];
};?>
Código PHP:
$ssql = "Update datos set Referencia='$ref', TituloCast='$titulo1', TituloIng='$titulo2', Descripcion='$descripcion1', DescripcionIng='$descripcion2', TipoDoc='$tipo', Fecha='$fecha', FechaIng='$fecha2' ";
if (isset($_POST['checkbox']))
{
$binario_contenido =$row['Documento'];
$binario_nombre=$row ['Nombre'];
$binario_tipo=$row ['Mime'];
}else{
$binario_nombre_temporal=$_FILES['nombre1']['tmp_name'] ;
if ($binario_nombre_temporal ==''){
$binario_contenido ='';
$binario_nombre='';
$binario_tipo='';
}else{
// leer del archvio temporal .. el binario subido.
$binario_contenido = addslashes(fread(fopen($binario_nombre_temporal, "rb"), filesize($binario_nombre_temporal)));
// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo.
$binario_nombre=$_FILES['nombre1']['name'];
$binario_tipo=$_FILES['nombre1']['type'];
};
};
$ssql .= ", Nombre='$binario_nombre', Documento='$binario_contenido', Mime='$binario_tipo'";
Por cierto, para pasar los datos lo hago mediante $_GET, y lo paso, no directamente sino con javascript con la sentencia:
Código HTML:
fdocumento.action = "documento_update.php"; fdocumento.submit();