Foros del Web » Programando para Internet » PHP »

duda al subir varios archivos

Estas en el tema de duda al subir varios archivos en el foro de PHP en Foros del Web. Buenas!! pues llevo ya unos cuantos dias dandole vueltas y no consigo subir varias imagenes a la vez. ya se que hay 40mil post que ...
  #1 (permalink)  
Antiguo 03/09/2009, 10:41
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
duda al subir varios archivos

Buenas!!

pues llevo ya unos cuantos dias dandole vueltas y no consigo subir varias imagenes a la vez.
ya se que hay 40mil post que lo comentan pero ninguno me saca de dudas ni me arregla el problema :S

tengo un formulario que varia, dependiendo el numero de imagenes que se quiera subir

Código PHP:
$capturas=$_POST['capturas'];
$a=mysql_query("Select * From "._PREFIX."_miembros_retanos");
$b=mysql_fetch_array($a);

$modulo.='
<form action="prueba.php" method="post">
<table border="1" width="50%">
    <tr>
        <td>Nombre del clan rival</td>
        <td>'
.$b['nombre'].'</td>
    </tr>
    <tr>
        <td>Miembros que participaron</td>
        <td>'
.$b['miembros'].'</td>
    </tr>
    <tr>
        <td>Numero de capturas</td>
        <td><SELECT NAME="capturas" onChange="submit()">
<OPTION VALUE="'
.$capturas.'" SELECTED>'.$capturas.'        
<OPTION VALUE="1">1
<OPTION VALUE="2">2
<OPTION VALUE="3">3
<OPTION VALUE="4">4
<OPTION VALUE="5">5
<OPTION VALUE="6">6
<OPTION VALUE="7">7
<OPTION VALUE="8">8
<OPTION VALUE="9">9
<OPTION VALUE="10">10
</SELECT></td>
</tr>
<input type="hidden" name="anti_XSRF" value="'
.$_SESSION['anti_XSRF'].'">
</form>'
;


$contador=1;

$modulo.='<form action="enviar.php" method="post">';
if (
$capturas!=""){
    while (
$contador<=$capturas){
    
$modulo.='
    <tr>
    <td>Captura numero '
.$contador.'</td>
    <td><input type="file" name="captura_'
.$contador.'"></td>
    </tr>'
;
    
$contador++;
    }
}

$modulo.='

<input type="hidden" name="anti_XSRF" value="'
.$_SESSION['anti_XSRF'].'">
<input type="hidden" name="capturas" value="'
.$capturas.'">
<tr>
<td colspan="2" align="center"><input type="submit" value="Finalizar Reto"></td>
</tr>
</form>
</table>
'

y luego para copiarlas en la web en prueba2.php tengo este codigo

Código PHP:
$capturas=$_POST['capturas'];

$contador=1;
while (
$contador<=$capturas){

$ruta="zona/upload/".$_FILES['captura_'.$contador]['name'];  
move_uploaded_file($_FILES['captura_'.$contador]['tmp_name'], $ruta); 

$contador++;

se puede subir imagenes asi? o da algun problema
esque ya no se que carajo puede ser.

mirando por hay puse al principio de enviar.php lo siguiente pero no me da ningun error

Código PHP:
error_reporting(E_ALL);
ini_set('display_errors'1); 
alguna idea que puede ser?

por cierto lo de $modulo. es para mostrar en la web el contenido,
estoy haciendo un modulo para el dedalus.

gracias de antemano :)
  #2 (permalink)  
Antiguo 03/09/2009, 10:45
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: duda al subir varios archivos

Primero para poder subir un archivo usando $_FILES necesitas un formulario que haya enviado la imagen. ¿Hiciste esa parte? Si es así verifica
Código php:
Ver original
  1. echo $_FILES['captura_'.$contador]['error'];
Y verifica en esta pagina que significa el error http://us3.php.net/manual/en/feature...oad.errors.php
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 03/09/2009, 10:49
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
Respuesta: duda al subir varios archivos

si esta puesto en el trozo de prueba.php al final

en fin ya he visto el fallo falta enctype="multipart/form-data" en el segundo formulario. y funciona perfecto.


solucionado :)
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 21:31.