formulario
Código HTML:
<form name="insertar" action="datos.php" method="POST" enctype="multipart/form-data">
<tr>
<td><b>TÍTULO:</b></td>
<td><input type="text" name="titulo" size="60"></td></tr>
<tr>
<td><b>NOTA:</b></td><td><textarea name="nota" cols="46" rows="10"></textarea></td>
</tr>
<tr>
<td><b>IMAGEN:</b></td><td><input type="file" name="img1" size="44"></td></tr>
<tr>
<td><b>COPETE IMAGEN:</b></td><td><input type="text" name="copete_img1" size="60"></td></tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="INGRESAR INFORMACIÓN">
</td></form></tr>
datos.php
Código PHP:
<?
foreach($_POST as $nombre_campo => $valor){$asignacion = "\$".$nombre_campo."='".addslashes($valor)."';";
eval($asignacion);}
foreach($_FILES as $nombre_campo => $valor){$asignacion = "\$".$nombre_campo."='".$valor."';";
eval($asignacion);}
?>
<?
if(empty($_FILES["img1"]["name"])){
$img1 = "";
$ruta = "";
}else{
$img1 = $_FILES["img1"]; //pasamos la matriz a la variable $img1 para trabajar más fácil
$prefijo = time(); //esto evitará q subamos img con el mismo nombre. Se reescribiría la primera
$url = "/imgs/2005/"; //carpeta donde guardarás tus imgs
$directorio = $_SERVER['DOCUMENT_ROOT'].$url; //sacamos el path hacia index
$ruta = $directorio.$prefijo.$img1["name"]; //concatenamos todo (/www/htdocs/mi_sitio/imgs/2005/mi_imagen.jpg)
if (move_uploaded_file($img1['tmp_name'],$ruta)){
echo "El archivo ha sido cargado correctamente.<br>/n"; //movemos el archivo temporal guardado por PHP hacia la carpeta donde se guardará definitivamente, si no hacemos esto, PHP borrar la img temporal.
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.<br>/n";
$img1['userfile']['error'];}
}
mysql_query("INSERT INTO tu_tabla (titulo,nota,img1,copete_img1,) VALUES('$titulo','$nota','$ruta','$copete_img1')") or die(mysql_error()); //insertamos los datos en la DB, nótese q ingresamos la $ruta y no $img1, es decir q en la DB guardamos el path hacia la img y no la imagen en sí.
?>