Foros del Web » Programando para Internet » PHP »

Scripts para subir imágenes con PHP

Estas en el tema de Scripts para subir imágenes con PHP en el foro de PHP en Foros del Web. scripts en PHP para subir imagenes En el script siguiente todo funciona a la perfección pero si busco donde subió la imagen no la encuentro. ...
  #1 (permalink)  
Antiguo 24/07/2012, 16:04
 
Fecha de Ingreso: julio-2012
Mensajes: 3
Antigüedad: 10 años
Puntos: 0
Scripts para subir imágenes con PHP

scripts en PHP para subir imagenes

En el script siguiente todo funciona a la perfección pero si busco donde subió la imagen no la encuentro.

Este ejemplo fue tomado de --wiki del foro y lo corri en dreamweaver Se me indica que la imagen va a ser presentada en el mismo script al no indicarse la $root=

Ahora lo hice utilizando el ejemplo indicandole una $root pero sigo sin saber donde puedo ver la imagen.

Me podrían indicar que es lo que está pasando en mi caso. Gracias



ver Script;
<!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=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body><?php
if (isset($_POST['submit'])) {
if(is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name'])) { // se coloca en su lugar final
echo "<b>Upload exitoso!. Datos:</b><br>";
echo "Nombre: <i><a href=\"".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
echo "<br><hr><br>";
}
}

// A continuación el formulario
}
?>



<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
Archivo: <input name="fichero" type="file">
<input name="submit" type="submit" value="Upload!">
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 24/07/2012, 16:45
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 14 años
Puntos: 2236
Respuesta: Scripts para subir imágenes con PHP

Este código:

move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name'])

Hace que el archivo se guarde en la misma ruta donde se está ejecutando el script, porque sólo estás proporcionando nombre.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 24/07/2012, 17:06
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 12 años, 8 meses
Puntos: 168
Respuesta: Scripts para subir imágenes con PHP

te falta especificar la ruta hacia donde queres que se guarde.
move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name']) con eso guardas la imagen en donde esta el script que las sube, en el mismo directorio.

Si queres guardarlas en una carpeta podes hacer algo como esto:
Carpeta: imagenes
código: move_uploaded_file($_FILES['fichero']['tmp_name'], "imagenes/".$_FILES['fichero']['name'])
  #4 (permalink)  
Antiguo 26/07/2012, 08:33
 
Fecha de Ingreso: julio-2012
Mensajes: 3
Antigüedad: 10 años
Puntos: 0
Respuesta: Scripts para subir imágenes con PHP

En este código me sube la imagen a una carpeta y me la muestra pero no lo hace a la base de datos. Me gustaría que me indicara cuál es el error que estoy cometiendo, gracias




<!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=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body><?php

$conexion = mysql_connect("localhost", "root");
mysql_select_db("real_estate", $conexion);


if (isset($_POST['submit'])) {
if(is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo
if(move_uploaded_file($_FILES['fichero']['tmp_name'],"imagenes/". $_FILES['fichero']['name'])) { // se coloca en su lugar final
echo "<b>Upload exitoso!. Datos:</b><br>";
echo "Nombre: <i><a href=\"".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
echo "<br><hr><br>";
}
}


}

$nom="imagenes/". $_FILES['fichero']['name'];
echo "<img src=\"$nom\">";






mysql_query("INSERT INTO archivos (fichero) VALUES ('$nom')");

?>
// A continuación el formulario

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
Archivo: <input name="fichero" type="file">
<input name="submit" type="submit" value="Upload!">
</form>
</body>
</html>
  #5 (permalink)  
Antiguo 26/07/2012, 13:03
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 12 años, 8 meses
Puntos: 168
Respuesta: Scripts para subir imágenes con PHP

Código PHP:
Ver original
  1. $conexion = mysql_connect("localhost", "root");

al parecer nunca indicaste la contraseña de acceso al servidor mysql.

Código PHP:
Ver original
  1. $conexion = mysql_connect("localhost", "root","TUCONTRASEÑA");

asumiendo que no has tocado nada seria así $conexion = mysql_connect("localhost", "root","");

sin contraseña.

Otra cosa, mysql_query("INSERT INTO archivos (fichero) VALUES ('$nom')"); te esta faltando la variable de conexión luego de la consulta ( $conexion ) y no creo que sea aceptable guardar "fichero" en una base de datos, no se si se puede asi como estas haciendo, hay un tipo de dato especial para esto, es BLOB, pero no es recomendable guardar imagenes en una base de datos, sino que podrías guardar solo la ruta hacia la imagen, y la imagen en una carpeta.


mysql_query("INSERT INTO blablabla...",$conexion); acordate de poner la variable conexion

Etiquetas: formulario, html, imagenes, scripts
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:14.