Foros del Web » Programando para Internet » PHP »

Dudas sobre $_FILES

Estas en el tema de Dudas sobre $_FILES en el foro de PHP en Foros del Web. Hola: Tengo algunas preguntas. Lo que quiero hacer es una forma de que mi cliente pueda subir varias fotos a la vez. Entonces lo que ...
  #1 (permalink)  
Antiguo 18/02/2006, 20:27
 
Fecha de Ingreso: junio-2002
Mensajes: 84
Antigüedad: 21 años, 10 meses
Puntos: 0
Pregunta Dudas sobre $_FILES

Hola:

Tengo algunas preguntas.
Lo que quiero hacer es una forma de que mi cliente pueda subir varias fotos a la vez. Entonces lo que hago es un formulario donde te pida las imagenes, y le de aceptar para subirlas.
Luego tengo una funcion para procesarlas, porque las redimensiono. Lo que quiero es ir tratando cada foto, pero $_FILES no me deja hacerlo dinamico. Es decir $_FILES[$foto1]['name'],$_FILES[$foto2]['name'], etc.

Esta es mi funcion:
Código PHP:
function redimensiona($imagen,$anchura,$hmax,$id){
    
$archivo_name $_FILES['$imagen']['name']; 
    
$extension explode(".",$archivo_name);
    
$num count($extension)-1;
    
$extension[$num];
    
$new_name convert($archivo_name);
    
$new_name "$id-$new_name";
    
$datos getimagesize($imagen);
    if(
$datos[2]==1){$img = @imagecreatefromgif($imagen);}
    if(
$datos[2]==2){$img = @imagecreatefromjpeg($imagen);}
    if(
$datos[2]==3){$img = @imagecreatefrompng($imagen);}
    
$ratio = ($datos[0] / $anchura);
    
$altura = ($datos[1] / $ratio);
    if(
$altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
    
$thumb imagecreatetruecolor($anchura,$altura);
    
imagecopyresampled($thumb$img0000$anchura$altura$datos[0], $datos[1]);
    if(
$datos[2]==1){
        
imagegif($thumb,"dondesea/$new_name");
    }
    if(
$datos[2]==2){
        
imagejpeg($thumb,"dondesea/$new_name",100);
    }
    if(
$datos[2]==3){
        
imagepng($thumb,"dondesea/$new_name"); 
    }
    
imagedestroy($thumb);
    return 
$new_name

Entonces lo que quiero es ir llamanda la funcion para cada imagen. Nomas que no me deja $_FILES, ponerle de varias, tendria que hacer de una por una.

Como le podria hacer??

Gracias
Saludos
Juan Manuel
__________________
Juan Manuel Ramos
  #2 (permalink)  
Antiguo 19/02/2006, 12:17
Avatar de drmad  
Fecha de Ingreso: noviembre-2005
Ubicación: Ica
Mensajes: 4
Antigüedad: 18 años, 5 meses
Puntos: 0
Hola

$archivo_name = $_FILES['$imagen']['name'];

Ahi está buscando el indice '$imagen', que no creo que sea lo que quieras. Las comitas simplen no interponal. Lo que puedes hacer es a) usar "comillas dobles", o b) (mejor) no usar nada Algo asi:

$archivo_name = $_FILES[$imagen]['name'];

Saludos.
  #3 (permalink)  
Antiguo 20/02/2006, 07:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si subes múltiples archivos .. podrías usar notación tipo "array":

<input type="files" name="archivo[]">
<input type="files" name="archivo[]">
<input type="files" name="archivo[]">
<input type="files" name="archivo[]">

Así en $_FILES .. tendrías un array para recorrer según:
$_FILES['archivo']['name'][$x]

más info:
http://www.php.net/manual/en/feature...d.multiple.php

Un saludo,
  #4 (permalink)  
Antiguo 21/02/2006, 18:04
 
Fecha de Ingreso: junio-2002
Mensajes: 84
Antigüedad: 21 años, 10 meses
Puntos: 0
Gracias

Muchas gracias

Me sirvio lo de las comitas dobles ("")

:)
__________________
Juan Manuel Ramos
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 08:06.