Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Imagenes al Servidor

Estas en el tema de Imagenes al Servidor en el foro de PHP en Foros del Web. Hola amigos, quisiera saber si es posible subir una imagen a dos partes distintas del servidor. Por ejemplo tengo esto en el servidor: CarpetaA, CarpetaB, ...
  #1 (permalink)  
Antiguo 03/04/2014, 13:48
 
Fecha de Ingreso: septiembre-2008
Mensajes: 72
Antigüedad: 15 años, 7 meses
Puntos: 0
Imagenes al Servidor

Hola amigos, quisiera saber si es posible subir una imagen a dos partes distintas del servidor.

Por ejemplo tengo esto en el servidor: CarpetaA, CarpetaB, CarpetaC, CarpetaD., Cada Carpeta tiene una ruta donde entra, y necesito por ejemplo subir la misma imagen en CarpetaA y CarpetaC, donde ambas carpetas tienen otro subdirectorio llamado fotos, yo siempre he subido la imagen a una sola carpeta, pero ahora me confundo un poco con este tema.

Código PHP:
Ver original
  1. if($do_commit){
  2.     switch($tipo){
  3.         case "image/jpeg":
  4.             $img=".jpg";
  5.             break;
  6.         case "image/png":
  7.             $img=".png";
  8.             break; 
  9.     }
  10.     $nombre="subir_".md5(date("Ymdhms")).$img;
  11.     $directorio="fotos/";
  12.     $fotos="$nombre";
  13.    
  14.    
  15.        
  16.     if(!move_uploaded_file($_FILES['fileImage']['tmp_name'], $directorio.$nombre)){
  17.         $do_commit=false;
  18.         $errmesg.="Error inesperado, favor intentelo mas tarde.";
  19.     }
  20. }

Por favor necesito subir la misma imagen en dos partes del servidor distinta, si me pueden ayudar se lo agradecería mucho.

Saludos
  #2 (permalink)  
Antiguo 03/04/2014, 15:49
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Imagenes al Servidor

Luego de subir la imagen con move_uploaded_file, crea una copia de dicha imagen y muévela al segundo directorio con la función copy.

Código PHP:
Ver original
  1. $name = $_FILES['input_file']['name'];
  2. $tmp = $_FILES['input_file']['tmp_name'];
  3.  
  4. move_uploaded_file($tmp, 'DirectorioA/' . $name);
  5. copy('DirectorioA/' . $name, 'DirectorioB/' . $name);

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 08/04/2014, 13:11
 
Fecha de Ingreso: septiembre-2008
Mensajes: 72
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Imagenes al Servidor

Hola Alexis, gracias por tu respuesta, probaré lo que me dices y te cuento.....
  #4 (permalink)  
Antiguo 09/04/2014, 10:55
 
Fecha de Ingreso: septiembre-2008
Mensajes: 72
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Imagenes al Servidor

Si me pueden ayudar nuevamente por fis.... He intentado de la forma que me dijo Alexis de hacer la copia en dos directorios distintos, pero no me ha resultado. Pondré dos ejemplos de como estoy trabajando esto:

Ejemplo 1

Código PHP:
Ver original
  1. $fileImage = $_FILES["fileImage"]['name'];
  2.     $nombre="contenido_".md5(date("Ymdhms"));
  3.     $directorio="../developers/images/$nombre";
  4.     $admin="photo/$nombre";
  5.     $path="$nombre";
  6.    
  7.     if (is_uploaded_file($_FILES['fileImage']['tmp_name'])){
  8.         copy($_FILES['fileImage']['tmp_name'],$developers."/".$_FILES['fileImage']['name']);  
  9.         move_uploaded_file($_FILES['fileImage']['tmp_name'],$photo."/".$_FILES['fileImage']['name']);
  10.     }else{
  11.         $do_commit=false;
  12.         $errmesg.="Error inesperado, favor intentelo mas tarde.";  
  13.     }

Ejemplo 2

Código PHP:
Ver original
  1. $name=$_FILES['fileImage']['name'];
  2.     $tmp=$_FILES['fileImage']['tmp_name'];
  3.     $nombre="contenido_".md5(date("Ymdhms"));
  4.     $dev="../developers/images/$nombre";
  5.     $test="photo/$nombre";
  6.     $path="$nombre";
  7.  
  8.     move_uploaded_file($tmp, 'dev/' . $name);
  9.     copy('dev/' . $name, 'test/' . $name);

Y en ambos casos me dice que:

failed to open stream: Permission denied (Cuando los dos directorios están con los permisos 777)

move_uploaded_file(photo/contenido_6jdytehdyggfd.jpg/2.jpg): failed to open stream: No such file or directory in /usr/.......

[09-Apr-2014 13:42:27 America/Santiago] PHP Warning: move_uploaded_file(): Unable to move '/tmp/phpaSv0ll' to 'photo/contenido_6jdytehdyggfd.jpg/2.jpg' in /usr/......

Por fis, si me pueden orientar mejor para solucionar este error.... Muchas Gracias
  #5 (permalink)  
Antiguo 09/04/2014, 13:29
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 3 meses
Puntos: 21
Respuesta: Imagenes al Servidor

proba asi.
Código:
 

 if (move_uploaded_file($_FILES['fileImage']['tmp_name'],$photo."/".$_FILES['fileImage']['name'])){ 
        copy($_FILES['fileImage']['tmp_name'],$developers."/".$_FILES['fileImage']['name']);  

    }else{
        $do_commit=false;
        $errmesg.="Error inesperado, favor intentelo mas tarde.";   
    }
  #6 (permalink)  
Antiguo 09/04/2014, 14:24
 
Fecha de Ingreso: diciembre-2013
Mensajes: 81
Antigüedad: 10 años, 4 meses
Puntos: 1
Respuesta: Imagenes al Servidor

ami yo lo he hecho para tres carpetas

Código PHP:
<?php
require_once("conexion.php");

$titulo=$_POST['titulo'];
$resumen=$_POST['resumen'];
$desarrollo=$_POST['desarrollo'];

$nombrefoto=$_FILES['imagen']['name'];
$nombrefoto=strtolower($nombrefoto);
$ruta=$_FILES['imagen']['tmp_name'];

$destino =  "fotos/".$nombrefoto;
//$fecha=$_POST['fecha'];
copy($ruta,$destino);

$destino2 =  "../../cosmosportal/cosmoportalsupervisor/noticias/fotos/".$nombrefoto;

copy($ruta,$destino2);

$destino3 =  "../../cosmosportal/CosmosPortalUsuario/noticias/fotos/".$nombrefoto;

copy($ruta,$destino3);

 
mysql_query("insert into noticias(titulo,resumen,desarrollo,imagen,id_notd,fecha) values('$titulo','$resumen','$desarrollo','$destino','1',CURDATE())");
 
header("Location:man_web.php");
?>
los destinos son las tres carpetas diferente espero haberte ayudado
  #7 (permalink)  
Antiguo 09/04/2014, 14:41
 
Fecha de Ingreso: septiembre-2008
Mensajes: 72
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Imagenes al Servidor

Gracias Amigos por la respuesta, acabo de arreglar el código y lo dejo para alguien que también lo necesite.

Código PHP:
Ver original
  1. $nombre="contenido_".md5(date("Ymdhms")).$adTipo;
  2.        
  3.        
  4.     if (is_uploaded_file($_FILES['fileImage']['tmp_name'])){
  5.         copy($_FILES['fileImage']['tmp_name'],'/usr/home/MiServidor/Carpeta1/developers/'.$nombre);
  6.         move_uploaded_file($_FILES['fileImage']['tmp_name'],'/usr/home/MiServidor/Carpeta2/photo/'.$nombre);
  7.     }

Muchas Gracias por su ayuda.
  #8 (permalink)  
Antiguo 10/04/2014, 09:52
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 3 meses
Puntos: 21
Respuesta: Imagenes al Servidor

tambien podrias habe usado copy en las dos..
  #9 (permalink)  
Antiguo 16/04/2014, 15:24
 
Fecha de Ingreso: septiembre-2008
Mensajes: 72
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Imagenes al Servidor

Lo tendré presente para la próxima vez, cosas nuevas que se aprenden.
Gracias

Etiquetas: imagenes, servidor
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 08:35.