Foros del Web » Programando para Internet » PHP »

Subir imagen a dos carpetas distintas

Estas en el tema de Subir imagen a dos carpetas distintas en el foro de PHP en Foros del Web. Hoal, quiero subir la misma imagen a dos carpetas distintas, el codigo que tengo es el siguiente: <?php include ("../../configuracion/conexion-usuario.php"); include ("../../_php/conexion.php"); $imagen=$_FILES["imagen"]["name"]; $destino="imagen-destinos/$imagen"; if ...
  #1 (permalink)  
Antiguo 05/10/2011, 11:44
 
Fecha de Ingreso: mayo-2010
Mensajes: 414
Antigüedad: 14 años
Puntos: 2
Subir imagen a dos carpetas distintas

Hoal, quiero subir la misma imagen a dos carpetas distintas, el codigo que tengo es el siguiente:

<?php
include ("../../configuracion/conexion-usuario.php");
include ("../../_php/conexion.php");

$imagen=$_FILES["imagen"]["name"];
$destino="imagen-destinos/$imagen";

if (is_uploaded_file ($_FILES['imagen']['tmp_name']) && ($_FILES['imagen']['type']=='image/jpg' || $_FILES['imagen']['type']=="image/pjpeg" )
){
move_uploaded_file ($_FILES['imagen']['tmp_name'], "../$destino");
move_uploaded_file ($_FILES['imagen']['tmp_name'], "../../$destino");

$orden="INSERT INTO imagenes_destino (imagen) values ('$destino')";
$rs=mysql_query($orden, $conn);
header("location:../paginas/imagenes-destino.php");

}else{
echo "la imagen debe ser jpg";
}





?>

Probe con poner el move_uploaded_file dos veces pero no me funciona

Cualquier opinión me sirve.
Saludos!
  #2 (permalink)  
Antiguo 05/10/2011, 11:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Subir imagen a dos carpetas distintas

Supongo que no has leído el manual, ¿verdad? La función move_uploaded_file() solo sirve una vez, deberías notar. Pero imagina, que en lugar de hacer eso dos veces lo haces solo una, y la segunda copias el archivo con copy(). ¿Se te había ocurrido?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/10/2011, 12:01
 
Fecha de Ingreso: mayo-2010
Mensajes: 414
Antigüedad: 14 años
Puntos: 2
Respuesta: Subir imagen a dos carpetas distintas

cómo quedaría entonces con copy()
  #4 (permalink)  
Antiguo 05/10/2011, 12:18
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Subir imagen a dos carpetas distintas

Cita:
Iniciado por sebacomas Ver Mensaje
cómo quedaría entonces con copy()
Lee esto copy()

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #5 (permalink)  
Antiguo 05/10/2011, 12:24
 
Fecha de Ingreso: mayo-2010
Mensajes: 414
Antigüedad: 14 años
Puntos: 2
Respuesta: Subir imagen a dos carpetas distintas

Ok, pero no logro poder copiarla en la otra carpeta.
  #6 (permalink)  
Antiguo 05/10/2011, 12:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Subir imagen a dos carpetas distintas

Cita:
Iniciado por sebacomas Ver Mensaje
Ok, pero no logro poder copiarla en la otra carpeta.
¿Y por qué no? Sería interesante saber si recibes un error, o si muestras lo que has hecho. Adivinar es complicado deberías saber.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 05/10/2011, 13:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Subir imagen a dos carpetas distintas

¿Como quedo tu código? Debes de usar move_uploaded_file una vez, y copy la segunda vez.
  #8 (permalink)  
Antiguo 05/10/2011, 13:05
 
Fecha de Ingreso: mayo-2010
Mensajes: 414
Antigüedad: 14 años
Puntos: 2
Respuesta: Subir imagen a dos carpetas distintas

Al final pude hacerlo con copy, aca esta el codigo:

<?php
include ("../../configuracion/conexion-usuario.php");
include ("../../_php/conexion.php");

$imagen=$_FILES["imagen"]["name"];
$destino="../imagen-destinos/$imagen";
$destino2="../../imagen-destinos/$imagen";


if (is_uploaded_file ($_FILES['imagen']['tmp_name']) && ($_FILES['imagen']['type']=='image/jpg' || $_FILES['imagen']['type']=="image/pjpeg" )
){
copy($_FILES [ 'imagen' ][ 'tmp_name' ], $destino2 );
move_uploaded_file ($_FILES['imagen']['tmp_name'], $destino);


$orden="INSERT INTO imagenes_destino (imagen) values ('$destino')";
$rs=mysql_query($orden, $conn);
header("location:../paginas/imagenes-destino.php");

}else{
echo "la imagen debe ser jpg";
}





?>


Gracias!!
  #9 (permalink)  
Antiguo 05/10/2011, 13:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Subir imagen a dos carpetas distintas

Sucede que el orden era así:
Código PHP:
move_uploaded_file ($_FILES['imagen']['tmp_name'], $destino);
copy($destino$destino2 ); 
Aún me pregunto si lo habrás entendido.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 05/10/2011, 14:49
Avatar de dmm84  
Fecha de Ingreso: marzo-2011
Mensajes: 164
Antigüedad: 13 años, 1 mes
Puntos: 13
Respuesta: Subir imagen a dos carpetas distintas

Cita:
Iniciado por pateketrueke Ver Mensaje
Sucede que el orden era así:
Código PHP:
move_uploaded_file ($_FILES['imagen']['tmp_name'], $destino);
copy($destino$destino2 ); 
Aún me pregunto si lo habrás entendido.
no tiene por que, la forma de la que lo ha hecho el tambien podria ser, no? primero copiarlo y luego moverlo
__________________
Mas vale un codigo que mil palabras
  #11 (permalink)  
Antiguo 05/10/2011, 15:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Subir imagen a dos carpetas distintas

Cita:
Iniciado por dmm84 Ver Mensaje
no tiene por que, la forma de la que lo ha hecho el tambien podria ser, no? primero copiarlo y luego moverlo
No. En el manual de move_uploaded_file() se indican las implicaciones de usar copy() antes de move_uploaded_file(), y son graves. La forma en que lo hizo funciona, pero en entornos de producción puede generar errores. Y hay que pensarlo bien, ¿si no porque existe la función move_uploaded_file() en lugar de solo copy()?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 05/10/2011, 15:37
 
Fecha de Ingreso: diciembre-2009
Ubicación: La Paz - Bolivia
Mensajes: 67
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Subir imagen a dos carpetas distintas

Haber si te sirve esto que use:

Código PHP:
$max=1000001//(1Mb) Tamaño maximo del archivo a subir

$nuevodirectorio="direccion_carpeta";
dir ($nuevodirectorio);
$uploaddir "$nuevodirectorio/";
//A continuación tratamos el archivo de imagen, aplicando unas funciones en particular como medida de seguridad.

$filesize $_FILES['upfile']['size'];
$filename trim($_FILES['upfile']['name']); //(trim elimina los posibles espacios al final y al principio del nombre del archivo)
$filename substr($filename, -20);// (con substr le decimos que coja solamente los últimos 20 caracteres por si el nombre fuera muy largo)
$filename ereg_replace(" """$filename); //(con esta función eliminamos posibles espacios entre los caracteres del nombre)
//Ahora creamos las condiciones que debe cumplir el archivo antes de ser almacenado en el servidor. Restringimos a .jpg ó .gif o .png
//(tanto en mayusculas como en minúsculas) y finalmente cambiamos el archivo de la carpeta temporal a la final elegida.
if($filesize $max)
{
  if(
$filesize 0)
  {
    if((
ereg(".jpg"$filename)) || (ereg(".gif"$filename)) || (ereg(".png"$filename)) || (ereg(".JPG"$filename))|| (ereg(".GIF"$filename)) || (ereg(".PNG"$filename)))
    {
      
$uploadfile $uploaddir $filename;
      if (
move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile) ) 
      {
         
$origen="direccion_carpeta".$filename;
         
$destino="carpeta_copia".$filename;
         
copy($origen,$destino);
      } 
      else 
      {
        
//print("mensaje");
      
}
    } 
    else 
    {
      
//print("Sólo se permiten imágenes en formato jpg. y gif., no se ha podido adjuntar.");
    
}
  }

Puedes modificarlo a gusto si lo necesitas....no tuve tiempo de mejorarlo asi que te lo paso como me funcionaba.
__________________
MAS KARMA..............MAS KARMA...................

Etiquetas: carpetas, distintas, mysql, usuarios
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:11.