no me habia dado cuenta, tendre que ponerle un id en vez de quitarlo porque en mi tabla esta como not null.
********************EDITADO*********************** **********
les dejo todo el scprit necesario para k puedan ejecutarlo, ya solucione el problema del id, ahora puede ingresarlo, (lo deje como text para k lo puedan ver)
PERO TODAVIA ME MANDA A header("location: formulario.php?proceso=falta_indicar_fichero"); kien puede encontrar el error de la validacion??
formulario.php
Código PHP:
<HTML>
<HEAD>
<TITLE>Binario a BD</TITLE>
</HEAD>
<BODY>
<?php
if (isset($_GET['proceso'])){
echo $_GET['proceso']."<br>";
}
?>
<FORM enctype="multipart/form-data" method="post" action="insertar.php">
<?php
include "conexion.php";
$result = mysql_query("SELECT * FROM archivos", $conexion);
if ($row = mysql_fetch_array($result)){
$sql="SELECT (max(id)+1) as nuevoid FROM archivos";
$rs=mysql_query($sql);
$fila=mysql_fetch_assoc($rs);
$nuevoid=$fila['nuevoid'];
}
else{
$nuevoid = 1;
}
?>
<p>Archivo:
<input type="text" name="id" value="<?php echo $nuevoid;?>" >
<INPUT type="file" name="archivo" size="30">
<INPUT type="submit" name="submit" value="Subir archivo">
</p>
</FORM>
</BODY>
</HTML>
insertar.php
aqui esta el codigo que estaba cambiando Código PHP:
<?php
$uploadDir = 'foto/'; // AQUI DEBEN PONE LA RUTA QUE UDS TENGAN
$uploadFile = $uploadDir . $_FILES['archivo']['name'];
if (move_uploaded_file($_FILES['archivo']['tmp_name'], $uploadFile))
{
//establece una conexión con la base de datos.
include"conexion.php";
// archivo temporal (ruta y nombre).
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;
// leer del archvio temporal .. el binario subido.
// "rb" para Windows .. Linux parece q con "r" sobra ...
$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['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];
//insertamos los datos en la BD.
$consulta_insertar = "INSERT INTO archivos (id, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('$id', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: listar_imagenes.php"); // si ha ido todo bien
exit;
}
else
{
header("location: formulario.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}
?>
listar_imagenes.php
Código PHP:
<?php
include"conexion.php";
$sql = "SELECT id,archivo_nombre,archivo_tipo,archivo_peso FROM archivos";
$consulta = mysql_query($sql) or die ("No se pudo ejecutar la consulta");
While ($registro=mysql_fetch_assoc($consulta)){
echo "<img src=\"ver.php?id=".$registro['id']."\">";
echo "<br> Nombre archivo: ".$registro['archivo_nombre'];
echo "<br> Tipo archivo (MIME formato): ".$registro['archivo_tipo'];
echo "<br> Peso: ".$registro['archivo_peso']." bytes.<br><br>";
}
?>
Cita: CREATE TABLE archivos (
id int(10) unsigned NOT NULL,
archivo_binario blob NOT NULL,
archivo_nombre varchar(255) NOT NULL default '',
archivo_peso varchar(15) NOT NULL default '',
archivo_tipo varchar(25) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;