Me gustaría con el siguiente formulario, obtener la ruta de una imagen y guardarla en la base de datos, la imagen la subiría al servidor en la carpeta imagenes/
No consigo realizarlo, me da error:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhost/anuncialoquequieras.es/home/html/imagenes/contactos.php:12) in /var/www/vhost/anuncialoquequieras.es/home/html/imagenes/upload2.php on line 79.
La ruta es almacenada en la BD Mysql como "498f2a_P1020074.jpg" y tendria que ser "imagenes/498f2a_P1020074.jpg" ya que la ruta del servidor es "carpeta imagenes/"
La imagen se almacena correctamente en el servidor, pero la dirección que da la BD es incorrecta, y no puede leer el archivo.
¿Alguna sugerencia?
¿Dónde podría obtener un código parecido??
Os adjunto código página.
Muchas Gracias.
Código PHP:
Ver original<?php require_once('contactos.php'); ?>
<?php
$directorio = ''.$prefijo.'_';
(move_uploaded_file($_FILES['foto1']['tmp_name'], $directorio . $_FILES['foto1']['name'])); function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
}
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ?
intval($theValue) : "NULL"; break;
case "double":
$theValue = ($theValue != "") ?
doubleval($theValue) : "NULL"; break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); }
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO contactos (idempleado, titulo, contenido, foto1) VALUES (%s, %s, %s, %s)", GetSQLValueString($_POST['idempleado'], "int"),
GetSQLValueString($_POST['titulo'], "text"),
GetSQLValueString($_POST['contenido'], "text"),
GetSQLValueString($directorio . $_FILES['foto1']['name'], "text"));
//Nombre de la carpeta donde se guardará el archivo.
$carpeta = "../imagenes";
//Nombre del archivo
$archivo = $_FILES['seleccion']['name'];
//Nombre tempoaral del archivo
$temporal = $_FILES['seleccion']['tmp_name'];
//Tamaño del archivo
$tamano = $_FILES['seleccion']['size'];
//Tipo de archivo
$tipo = $_FILES['seleccion']['type'];
//URL de la imagen.
//Subimos el archivo
//Si todo salio bien
$estado = "El archivo . . . . ". basename($archivo).". . . . Se ha subido con exito"; //Si fallo
} else {
//Advertir el fallo
$estado = "Hubo un error al subir el archivo.<br>Posiblemente es mayor a lo 200KB permitido.<br>Inténtelo de nuevo!";
}
$insertGoTo = "imagenes.php";
if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ?
"&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING'];
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1" enctype="multipart/form-data">
<table align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right">Titulo:</td>
<td><input type="text" name="titulo" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right" valign="top">Contenido:</td>
<td><textarea name="contenido" cols="50" rows="5"></textarea></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td> </td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td>
<label>
<input type="hidden" name="MAX_FILE_SIZE" id="subir" value="200000" />
Elija un archivo para cargar :<br /><input type="file" name="foto1" id="foto1"><br />
</label>
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td> </td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Nombre del archivo:</td>
<td><input type="text" name="foto1" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td><input type="submit" value="Insertar registro" /></td>
</tr>
</table>
<input type="hidden" name="id_noticia" value="" />
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p> </p>
</body>
</html>