Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Crear carpeta y guardar imagenes

Estas en el tema de Crear carpeta y guardar imagenes en el foro de PHP en Foros del Web. Hola amigos. Tengo el siguiente código para guardar unas imagenes, pero necesito que al guardar se genere una carpeta según un código y que sea ...
  #1 (permalink)  
Antiguo 30/05/2013, 06:33
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Pregunta Crear carpeta y guardar imagenes

Hola amigos. Tengo el siguiente código para guardar unas imagenes, pero necesito que al guardar se genere una carpeta según un código y que sea alli donde se guarden. Por ejemplo images/fotos/codigo. Lo que pasa es que necesito crear varios albumes distintos. Este es mi código:

Código PHP:
Ver original
  1. $ruta = '../..';
  2. include ('../../func/func.php');
  3. include ('../../func/head3.php');
  4. require_once '../../func/ResizePicture.php';
  5.  
  6. $id_posada = $_POST['id_posada'];
  7. $id_foto = $_POST['id_foto'];
  8.  
  9. $foto_nombre = substr($id_foto,0,-4);
  10. $codigo = substr($id_foto,0,-4);
  11.  
  12. $ruta1 = "../../images/galeria/large/";
  13. $ruta2 = "../../images/galeria/thumbnails/";
  14.  
  15. $extension = "jpg";
  16.  
  17. $i = 1;
  18. foreach($_FILES as $value){
  19.    // Si la imagen fue subida correctamente
  20.    if ( $value['error'] == UPLOAD_ERR_OK ){
  21.         $image = new ResizePicture($value['tmp_name']);
  22.  
  23.         $image->resize(444,420);
  24.         $w444 = $foto_nombre. '_' .$i. '.' . $extension;
  25.         $image->save($ruta1.$w444);
  26.  
  27.         $image->resize(54,54);
  28.         $w54 = $foto_nombre. '_'  .$i. '.' . $extension;
  29.         $image->save($ruta2.$w54);
  30.      
  31.          $i++;
  32.     }
  33. }

donde $codigo va a ser el nombre de la carpeta que contiene las fotos.

Como creo la carpeta y guardo las fotos alli?

Gracias
__________________
Caminando con el corazón partío
  #2 (permalink)  
Antiguo 30/05/2013, 06:37
Avatar de Lobito14  
Fecha de Ingreso: abril-2010
Mensajes: 222
Antigüedad: 14 años
Puntos: 17
Respuesta: Crear carpeta y guardar imagenes

Puedes usar la función mkdir de PHP para crear el directorio pasandole como parámetro el nombre que tienes guardado en esa variable.

Saludos.
  #3 (permalink)  
Antiguo 30/05/2013, 06:40
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Crear carpeta y guardar imagenes

Hola, ya se que se crean las carpetas con mkdir pero no se como meterla en mi código
__________________
Caminando con el corazón partío
  #4 (permalink)  
Antiguo 30/05/2013, 06:43
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 36
Respuesta: Crear carpeta y guardar imagenes

kimmy:

Lo primero, la creacion de la(s) carpeta(s) seria justo antes del proceso de guardar las imagenes, la cosa es cual seria el nombre que tomarian las carpetas?... desde una variable, desde el nombre del usurio k las subio, debes ayudarnos a definir esto, para ayudarte..

Saludos,
  #5 (permalink)  
Antiguo 30/05/2013, 06:46
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Respuesta: Crear carpeta y guardar imagenes

Para crear la carpeta podrías usar:

$nombre_carpeta = "ejemplofotos/";

if(!is_dir($nombre_carpeta))
{
mkdir($nombre_carpeta, 0700);
}
else
{
echo "Ya existe ese directorio\n";
}

La función mkdir crea una carpeta pero antes realiza una comprobación para saber si ya existe, si existe muestra un texto si no crea ese directorio.

Saludos,
  #6 (permalink)  
Antiguo 30/05/2013, 06:53
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Crear carpeta y guardar imagenes

Hola, lo hice asi pero no funciona. Solo crea la carpeta pero no mete las fotos:

Código PHP:
Ver original
  1. $foto_nombre = substr($id_foto,0,-4);
  2. $codigo = substr($id_foto,0,-4);
  3.  
  4.  
  5. //$ruta1 = "../../images/galeria/large/";
  6. //$ruta2 = "../../images/galeria/thumbnails/";
  7. $ruta1 = mkdir('../../images/galeria/large/'.$codigo.'/');
  8. $ruta2 = mkdir('../../images/galeria/thumbnails/'.$codigo.'/');
  9.  
  10. $extension = "jpg";
  11.  
  12. $i = 1;
  13. foreach($_FILES as $value){
  14.    // Si la imagen fue subida correctamente
  15.    if ( $value['error'] == UPLOAD_ERR_OK ){
  16.         $image = new ResizePicture($value['tmp_name']);
  17.  
  18.         $image->resize(444,420);
  19.         $w444 = $foto_nombre. '_' .$i. '.' . $extension;
  20.         $image->save($ruta1.$w444);
  21.  
  22.         $image->resize(54,54);
  23.         $w54 = $foto_nombre. '_'  .$i. '.' . $extension;
  24.         $image->save($ruta2.$w54);
  25.      
  26.          $i++;
  27.     }
  28. }

Por qué????
__________________
Caminando con el corazón partío
  #7 (permalink)  
Antiguo 30/05/2013, 06:59
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Respuesta: Crear carpeta y guardar imagenes

Probá copy("images/tufoto.jpg","tucarpetadondesubelasfotos/tufoto.jpg");

A ver que pasa.

Saludos
  #8 (permalink)  
Antiguo 30/05/2013, 07:37
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Crear carpeta y guardar imagenes

No me funciona :(
__________________
Caminando con el corazón partío
  #9 (permalink)  
Antiguo 30/05/2013, 07:46
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Respuesta: Crear carpeta y guardar imagenes

Podes copiar tu script para ver como está?
  #10 (permalink)  
Antiguo 30/05/2013, 07:59
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Crear carpeta y guardar imagenes

mkdir devuelve falso o verdadero y tú estás tratando de asignar como si fuera una cadena:

Código PHP:
Ver original
  1. // Mal:
  2. $ruta1 = mkdir('../../images/galeria/large/'.$codigo.'/');
  3. $ruta2 = mkdir('../../images/galeria/thumbnails/'.$codigo.'/');
  4.  
  5. // Bien:
  6. $ruta1 = "../../images/galeria/large/$codigo";
  7. $ruta2 = "../../images/galeria/thumbnails/$codigo";
  8. mkdir($ruta1);
  9. mkdir($ruta2);
  10.  
  11. // Luego, al guardar el archivo agregas la diagonal al final de la ruta:
  12. $image->save("$ruta1/$w444");
  13.  
  14. // Lo mismo para la vista previa

Saludos!
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 30/05/2013, 08:29
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Crear carpeta y guardar imagenes

Mil gracias Triby. Funciona perfecto.

Saludos

__________________
Caminando con el corazón partío

Etiquetas: carpeta, imagenes
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 13:49.