05/08/2009, 12:02
|
| | Fecha de Ingreso: abril-2009
Mensajes: 244
Antigüedad: 15 años, 7 meses Puntos: 0 | |
¿Es imcompatible subir un archivo con guardar en la base de datos? Hola a todos,
lo primero deciros que me estoy volviendo loco, creo que ya lo he probado todo para poder guardar los datos(fechas, origen, nombre..etc) de una imagen en la base de datos y a su vez que esta se guarde en el servidor.
Si lo hago por separado funciona correctamente. Pero en cuanto intento hacerlo todo hay algo que no funciona principalmente subir la imagen.
El problema creo que esta en que como utilizo un archivo php para guardar los datos en la base de datos entoces el FORM me redirige a este archivo y no me ejecuta el codigo de guardar la imagen en el servidor, este codigo esta en el archivo origen(el del formulario).
Es decir si utilizo el siguiente codigo:
print"<FORM name='form1' action='/sub_img.php' METHOD=\"POST\" target='_blank' enctype='multipart/form-data'>";
me hace correctamente todo lo del archivo "sub_img.php" que es guardar los datos en la base de datos, pero no me ejecuta el codigo de guardar el archivo de la imagen en el servidor.
En cambio si utilizo el siguiente codigo:
print"<form method='POST' name='miformu' enctype='multipart/form-data'>";
logicamente sólo lo me ejecuta el codigo de guardar el archivo de la imagen en el servidor, porque no estoy llamando al archivo php, pero esto me lo hace bien.
Lo logico sería que pudiera poner el codigo de guardar el archivo de la imagen en el archivo php, pero creo que en otro post dijero que esto no se puede hacer para el codigo que utilizo para guardar archivos, que es el siguiente:
$nombre = $_FILES['ofer']['name'];
$tipo_archivo = $_FILES['ofer']['type'];
$tamano_archivo = $_FILES['ofer']['size'];
$ruta = "images/ofertas/" ;
$ruta_del_archivo = $ruta.$_FILES['ofer']['name'];
if ($nombre!='') //aqui valido el tipo de archivo
{
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg") || strpos($tipo_archivo, "jpg") || strpos($tipo_archivo, "png") ) && ($tamano_archivo < 1000000)))
{
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif, .jpg o .png<br><li>se permiten archivos de 1 MEGA máximo.</td></tr></table>";
exit(0);
}
else
{
if (move_uploaded_file($_FILES['ofer']['tmp_name'],$ruta_del_archivo))
{
//echo "La oferta ha sido cargada correctamente.";
echo "<script language='javascript'>alert('La oferta ha sido cargada correctamente.')</script>";
//echo $_FILES['ofer']['name'];
//echo $ruta_del_archivo;
}
else
{
//echo "Ocurrio un error por favor intentelo luego.";
echo "<script language='javascript'>alert(Ocurrio un error por favor intentelo luego.')</script>";
}
}
}
Un saludo. |