Foros del Web » Programando para Internet » PHP »

Script para subir imagenes

Estas en el tema de Script para subir imagenes en el foro de PHP en Foros del Web. Hola alguien sabe de un script que necesito URGENTE para subir imagenes a un directorio de mi website con php? Mil Gracias...
  #1 (permalink)  
Antiguo 21/07/2008, 08:47
Avatar de davidisrael  
Fecha de Ingreso: enero-2002
Mensajes: 62
Antigüedad: 22 años, 3 meses
Puntos: 0
Pregunta Script para subir imagenes

Hola alguien sabe de un script que necesito URGENTE para subir imagenes a un directorio de mi website con php?


Mil Gracias
__________________
Anl. David Ortega Mazzini
  #2 (permalink)  
Antiguo 21/07/2008, 09:26
 
Fecha de Ingreso: enero-2004
Ubicación: GDL
Mensajes: 42
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Script para subir imagenes

este es un post que escribio P4blo, explica muy bien como hacerlo

Cita:
En este ejemplo, se trabajara con upload de una imagen asociandola al id del usuario. El codigo es el siguiente:

//Recibo los datos que vienen por post

$archivo = $_FILES['campo']['name'];

//Insercion de los datos, ojo la imagen se graba con su nombre original en la tabla (es un campo varchar)

$sql_ins = "INSERT INTO avisos_img(texto,imagen) VALUES ('$nombre','$archivo')";
$res = mysql_query($sql_ins) or die ( "Error MySQL dice: " . mysql_error() );

//Ahora rescatar el id del registro insertado con la funcion mysql_insert_id()

$id = mysql_insert_id();

//Generar el nuevo nombre para la imagen, asociado con el id del registro, para luego moverla a su posicion final

$nuevo_nombre = ( string ) $id. "_" .$_FILES['file']['name'];

//Con la funcion move_uploaded_file mover el archivo a su posicion final, ojo con las rutas

move_uploaded_file($_FILES['file']['tmp_name'], "./avisos/".$nuevo_nombre );

Bueno de esta forma la imagen se almacena, por un lado, con su nombre original en la tabla, y por otro, con el id del registro + el nombre de la imagen. Por ejemplo si realizamos el proceso de insercion y realizamos el upload de una imagen cuyo nombre es "imagen1.gif" quedaria de la siguiente forma:

imagen1.gif => valor en el campo de la tabla, por ejemplo si el registro genero el id 1, la imagen quedaria almacenada en la ruta especificada con el nombre

1_imagen1.gif

De esta forma cuando realizemos la consulta de los datos para mostrar la imagen seria facil:

$sql = "SELECT * FROM usuarios"

$res = mysql_query($sql);

$row = mysql_fetch_array($res);

//mostrar la imagen

<img src = "imagenes/<? echo $row['id']?>_<? echo $row['imagen']?>">

Eso seria, pero a esta explicacion se le deben agregar ciertas validaciones, para tener un algoritmo mas robusto.

Espero lo entiendan.-

Un saludo

P4blo.-----

teniendo en cuenta que:
"campo" es el nombre de tu campo que viene del form donde subes la imagen

$archivo = $_FILES['campo']['name'];

y ent esta linea donde dice /avisos/ es tu carpeta donde vas a guardar las imagenes en le servidor

move_uploaded_file($_FILES['file']['tmp_name'], "./avisos/".$nuevo_nombre );

muy bien explicado :)
  #3 (permalink)  
Antiguo 21/07/2008, 10:54
Avatar de davidisrael  
Fecha de Ingreso: enero-2002
Mensajes: 62
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: Script para subir imagenes

Ok gracias pero esto es a una base de datos, yo queria a un directorio especifico. es el siguiente que encontre en la web.

Cita:
<?
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto = $_POST["cadenatexto"];
echo "Escribió en el campo de texto: " . $cadenatexto . "<br><br>";

//datos del arhivo
$nombre_archivo = "imagesupload/" . $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 100000))) {
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
echo "El archivo ha sido cargado correctamente.";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
?>
__________________
Anl. David Ortega Mazzini
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 05:05.