PHP - enviar varios archivos con php

   
Vista:

enviar varios archivos con php

Publicado por amanda (3 intervenciones) el 06/08/2010 14:40:26
hola estoy intentando enviar varios archivos desde un formulario,pero no hay manera, llevo una semana probando de todo! alguien me puede ayudar? gracias.

<form action="prueba.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000">
<table border="1" align="left" cellpadding="5" cellspacing="1" bgcolor="#FFCC99">
<!--DWLayoutTable-->
<tr>
<td colspan="4" bgcolor="#FFCC99"><p><strong>Datos Generales</strong></p>
<p> </p></td>
</tr>
<tr>
<td colspan="2" bgcolor="#CCCCCC">Nombre:</td>
<td colspan="2" bgcolor="#CCCCCC"><label>
<input name="nombre" type="text" id="nombre" size="30" />
<span class="Estilored">*<br />
</span></label></td>
</tr>
<tr>
<td colspan="2" bgcolor="#CCCCCC">Telefono:</td>
<td colspan="2" bgcolor="#CCCCCC"><label>
<input name="telefono" type="text" id="telefono" size="30" />
<span class="Estilored">*<br />
</span></label></td>
</tr>
<tr>
<td colspan="2" bgcolor="#CCCCCC">Email: (no será publicado)</td>
<td colspan="2" bgcolor="#CCCCCC"><label>
<input name="email" type="text" id="email" size="30" />
<br />
</label></td>
</tr>
<tr>
<label for="archivo1"></label>
<input type="file" name="image[]" />
</p>
<p>
<label for="archivo2"></label>
<input type="file" name="image[]" />
</p>
<p>
<label for="archivo3"></label>
<input type="file" name="image[]" />
</p>
<p>
<label for="archivo4"></label>
<input type="file" name="image[]" />
</p>
<p>
<label for="archivo5"></label>
<input type="file" name="image[]" />
</p>
<p>
<label for="archivo6"></label>
<input type="file" name="image[]" />
</p>
<p>
<label for="archivo7"></label>
<input type="file" name="image[]" />
</p>
<p>
<label for="archivo8"></label>
<input type="file" name="image[]" />
</p></td>
</tr>
<tr>
<td colspan="2" align="left" valign="middle" bgcolor="#CCCCCC"><!--DWLayoutEmptyCell--> </td>
<td colspan="2" align="left" valign="bottom" bgcolor="#CCCCCC"><!--DWLayoutEmptyCell--> </td>
</tr>
<tr>
<td colspan="4" align="left" valign="middle" bgcolor="#CCCCCC">
<input name="submit" type="submit" id="submit" value="enviar" /></td>
</form>
(EN OTRA PAGINA)
PRUEBA.PHP

<?
//recepcion de datos
$nombre=$_POST['nombre'];
$telefono=$_POST['telefono'];
$email=$_POST['email'];
$para='dc10ibiza@hotmail.com';
$asunto='formulario web';
$mensaje='datos recibidos

nombre:'.$nombre.'

telefono:'.$telefono.'

email: '.$email.'

';

$desde='From: mi pagina';
mail($para,$asunto,$mensaje,$desde);
header('Location: respuestaformulario.html');

$dir = "/perfiles";
$tot = count($_FILES['image']['name']); // cantidad de archivos a subir
for($i=0;$i<$tot;$i++){
move_uploaded_file ($_FILES['image']['tmp_name'][$i], $dir.$_FILES['image']['name'][$i]); //subimos las imagenes
}

?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:enviar varios archivos con php

Publicado por Andres (52 intervenciones) el 06/08/2010 19:53:38
Hola Amanda,
Prueba lo siguiente:

// Cambio
$tot = count($_FILES['image']); // cantidad de archivos a subir

// Cambio
for($i=0;$i<$tot;$i++){
move_uploaded_file ($_FILES['image'][$i]['tmp_name'], $dir.$_FILES['image'][$i]['name']); //subimos las imagenes
}

lo que cambia es como ubicas los indices en el arreglo.

Espero que funcione.

Saludos.
Andrés.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

hola,aún no me funciona :)

Publicado por amanda (3 intervenciones) el 08/08/2010 03:16:12
hola, gracias x la ayuda, he cambiado lo que me has dicho pero no me acaba de funcionar, los datos los envia pero los archivos no.
el $dir="/.perfiles"; esta bien?(los permisos los tengo en 777).
nose x k no me funciona! cualquier ayuda sera de agradecer. gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:hola,aún no me funciona :)

Publicado por Andres (52 intervenciones) el 09/08/2010 13:48:31
Hola Amanda, PERDON! error mío, estaba convencido que era de esa forma, estaban bien configurados los arreglos que habías escrito. Ahora lo probé y funciona correctamente. Es como sigue:

//la carpeta debe existir previamente. o bien la creás dinamicamente con mkdir
$dir = "perfiles/";

if($_FILES['image']['name'] != ''){

for($i=0;$i<count($_FILES['image']['name']);$i++){

move_uploaded_file ($_FILES['image']['tmp_name'][$i], $dir . $_FILES['image']['name'][$i]);

}

}

Creería que el problema es que ponés la barra delante "/perfiles" y es "perfiles/" antes no había barra entre el directorio y el nombre del archivo...

Bueno amanda, disculpas nuevamente por hacerte trabajar en vano...
Saludos.

Andrés
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:hola,aún no me funciona :)

Publicado por mil gracias!! (3 intervenciones) el 09/08/2010 16:56:26
Hola he echo los cambios y me va muy bien!!
muchas gracias por la ayuda!!!!! ahora ya podré dormir :) mil gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar