Foros del Web » Programando para Internet » PHP »

Subir imagenes a una carpeta especifica

Estas en el tema de Subir imagenes a una carpeta especifica en el foro de PHP en Foros del Web. Hola a todos...... Si alguien me pudiera ayudar con un codigo para subir fotos en un directorio especifico, a ver les cuento.... tengo una pagina ...
  #1 (permalink)  
Antiguo 20/01/2009, 13:13
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
Subir imagenes a una carpeta especifica

Hola a todos......

Si alguien me pudiera ayudar con un codigo para subir fotos en un directorio especifico, a ver les cuento.... tengo una pagina de caballos, y quisiera que el usuario al momento de subir la imagen escogiera en cual de las carpetas iria la imagen, esto dependeria de la raza del caballo que va a subir.

La idea que tengo es hacer una lista/menu y dependiendo del valor que el usuario escoja, pues se escoge la carpeta de destino....

no se si esta muy enredado para entender, pero la verdad no se mucho de PHP...

Muchas Gracias a todos
  #2 (permalink)  
Antiguo 20/01/2009, 13:27
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: Subir imagenes a una carpeta especifica

Vaya eso no lo habia hecho nunca, pero creo que seria algo asi,
En el select de opcion tendras que darle los valores tu mismo con los nombres de la carpetas que existen luego usa el nombre de ese select (carpetas) en el script
$carpeta=$_POST[carpetas];
$nombre_archivo = "$carpeta/imagen1.jpg";
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],$nombre_archivo)
supongo que usas
move_uploaded_file()
para subir los archivos
Suerte!
  #3 (permalink)  
Antiguo 21/01/2009, 09:53
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Subir imagenes a una carpeta especifica

Muchisimas Gracias voy a ensayar!!!!, que pena pregunto otra cosa, como puedo hacer para renombrar la foto..... es decir si un usuario va a subir una foto llamada Amadeus, y ese nombre ya existe, que sea renombrada por Amadeus 01, muchas gracias nuevamente!!!
  #4 (permalink)  
Antiguo 21/01/2009, 11:32
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: Subir imagenes a una carpeta especifica

Con file_exists() compruebas si un archivos ya existe:
$nombre_archivo = 'Amadeus.jpg';
if (file_exists($nombre_archivo)) {
echo "El archivo si existe";
} else {
echo "El archivo no existe";
}
para renombrar se usa rename($nombreViejo,$nombreNuevo) pero nunca lo use.
Pruebalo!!
  #5 (permalink)  
Antiguo 21/01/2009, 12:13
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Respuesta: Subir imagenes a una carpeta especifica

Para no sobreescribir puedes usar la siguiente funcion:

Código PHP:
function no_sobreescribir($nom_imagen$carpeta) { 
$separador "_"
$sin_separador ereg_replace($separador"_"$nom_imagen); 
if ( !
file_exists($carpeta.$sin_separador) ) { 
  
$nombre_correcto $sin_separador
  } 
 else { 
  
$nombre_temp $sin_separador
  
$nombre_sep $separador.$nombre_temp
  
$i 0
  while ( 
file_exists($carpeta.$nombre_temp) ) { 
   
$nombre_temp $i.$nombre_sep
   
$i++; 
   } 
  
$nombre_correcto $nombre_temp
  }
 return 
$nombre_correcto
 }

$nombreimg=$HTTP_POST_FILES['userfile']['name'];
$carpeta=$_POST['carpeta'];
//modifica $carpeta a tus necesidades
$finalimg=no_sobreescribir($nombreimg,$carpeta);
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],$finalimg); 

Última edición por yeudiel; 21/01/2009 a las 12:28 Razón: error en el codigo
  #6 (permalink)  
Antiguo 21/01/2009, 16:49
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Subir imagenes a una carpeta especifica

Muchisimas gracias a los dos, voy a ensayar
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 20:40.