Cluster, me va a la perfeccion subir los archivos y un campo de texto. Pero a lo mejor da el caso que solamente quiero subir el texto y no el archivo que codigo tengo que quitar en insertar.php para que lo suba haga la funcion bien..
Tengo el codigo:
Código PHP:
<?php
//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre. Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.
if (empty($_FILES['archivo']['name'])){
header("location: admin_soporte_detalles.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}
//establece una conexión con la base de datos.
$conexion = mysql_connect("localhost","xxx","xxx") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("xxx",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca.
// 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 soporte (ticket,id,comentario_cliente,archivo_binario,archivo_nombre,archivo_peso,archivo_tipo,fecha) VALUES ('','$id','$comentario_cliente', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo',NOW())";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: $HTTP_REFERER"); // si ha ido todo bien
exit;
?>
Que lo inserta todo bien pero si le quito
Código PHP:
if (empty($_FILES['archivo']['name'])){
header("location: admin_soporte_detalles.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}
Me sale un error:
Código:
Warning: fread(): supplied argument is not a valid stream resource in /home/xxx/public_html/clientes/admin/admin_soporte_procesar.php on line 14
Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/public_html/clientes/admin/admin_soporte_procesar.php:14) in /home/xxx/public_html/clientes/admin/admin_soporte_procesar.php on line 24
Habria alguna posibilidad en este script hacer eso?