Buenas gente, seguro que de esto se ha hablado y mucho, pero no logro concretar lo siguiente, estoy intentando subir un archivo a mi servido a travez de un formulario PHP, lo logre perfectamente, pero lo que no puedo logar es colocar la url en la base de datos para luego poder llamar a esta foto. Les pido una mano por favor, saludos.
Aqui va el codigo.
FORMULARIO
Código:
<body>
<h1>HOME</h1>
<h1>ACTUALIZACION</h1>
<table width="745" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="377"><form id="form1" name="form1" enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<table border="0" cellpadding="5" cellspacing="0">
<td>Mini:</td>
<td><input type="text" name="NEWmini1" id="NEWmini1" value="<?php echo "$mini1"; ?>" /></td>
</tr>
<tr>
<td>Frase:</td>
<td><input type="text" name="NEWmini2" id="NEWmini2" value="<?php echo "$mini2"; ?>" /></td>
</tr>
<tr>
<td>Texto:</td>
<td> </td>
</tr>
<tr>
<td colspan="2"><textarea name="NEWtxt" id="NEWtxt" cols="45" rows="5"><?php echo "$txt"; ?></textarea></td>
</tr>
<tr>
<td>Cargar nueva imagen:</td>
<td><input type="file" name="NEWimg" id="NEWimg" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" id="submit" value="Guardar Cambios" /></td>
</tr>
</table>
</form>
</td>
<td width="368"><p>Imagen Actual</p>
<p><img src="<?php echo $archivo_name; ?>" width="200" /></p></td>
</table>
</body>
</html>
DESPUES DE LLAMAR A LA CONEXION DE LA BASE DE DATOS
Código:
<?php
//Llamo a los datos anteriores de la base de datos para que aparescan en los campos de textos
$result = mysql_query("$select");
while ($row = mysql_fetch_array($result)){
$id= $row['idhome'];
$mini1= $row['mini1'];
$mini2= $row['mini2'];
$txt= $row['txt'];
$img= $row['img'];
}
//Defino las nuevas variables para lo que se va a ingresar
$NEWmini1 = $_POST["NEWmini1"];
$NEWmini2 = $_POST["NEWmini2"];
$NEWtxt = $_POST["NEWtxt"];
$archivo = $_POST["NEWimg"];
//Defino variables de la imagen-*
$archivo_tmp=$_FILES['$archivo']['tmp_name']; //trae el nombre temporal de la imagen
$archivo_name=$_FILES['$archivo']['name']; //trae el nombre de la imagen
$archivo_size=$_FILES['$archivo']['size']; // trae el tamaño de la imagen
$archivo_tipo=$_FILES['$NEWimg']['type']; // trae la extension de la imagen
$ruta= $_SERVER["DOCUMENT_ROOT"]."\\img\\".$_FILES['NEWimg']['name']; //Variable para colocar la imagen en la carpeta
$anchura_correcta=x; // Pones la anchura que desees que tome la imagen.
$tamaño=getimagesize($archivo); // Rescata tamaño de la imagen.
// *-
if($NEWmini1 == false){
$Error = "";
echo $Error;
}else if($NEWmini2 == ""){
$Error = "";
echo $Error;
}else if($NEWtxt == ""){
$Error = "Ingrese un dato en el campo TEXTO";
echo $Error;
}else{
$Error = "Ninguno";
//echo $Error;
}
if($Error = "Ninguno"){ //Si no hay ningun error nos disponemos a subir el archivo
if(is_uploaded_file($_FILES['NEWimg']['tmp_name'])) { // verifica haya sido cargado el archivo
if(move_uploaded_file($_FILES['NEWimg']['tmp_name'], $ruta)) { // se coloca en su lugar final
echo "Modificacion exitosa!";
}
}
$sql = "UPDATE home SET mini1='$NEWmini1', mini2='$NEWmini2', txt='$NEWtxt', img='$archivo_name'";
$result = mysql_query($sql, $link) or die ("Hay un error.");
mysql_close($link);
}
?>
Espero su ayuda gracias