Problema con Upload de archivos
Hola a todos,
estoy teniendo un problema muy tonto con una subida de archivos. La cuestión en la siguiente:
Tengo un pequeño formulario en Html con tres campos de archivo llamados imagen[0], imagen[1] e imagen[2] respectivamente. Estos archivos estan colocados en un formulario "multipart/form-data" de manera que tengo algo parecido a esto:
<code><form>
<label>Imagen 1
<input>
</label>
<label>Imagen 2
<input>
</label>
<label>Imagen 3
<input>
</label>
<input>
</form></code>
http://82.194.66.109/formulario.txt
Una vez enviado el formulario PHP recibe los datos y copia cada uno de los archivos en la carpeta correspondiente de la siguiente manera:
<code><?php
$imagen = $_POST[imagen];
for($n=1; $n<_GET></code>
Las variables las recibe correctamente y los permisos de la carpeta están dados correctamente pero no sube los dichosos archivos.
Os he adjuntado dos txt por si no se lee bien en el mensaje el código.
Espero que podáis ayudarme.
Un saludo,
David
dagi3d
lo que tienes que hacer es copiar el fichero que estará fisicamente de manera temporal en la ruta indicada en $_FILES[<nombre>]['tmp_name'] al directorio que quieras: http://es2.php.net/manual/en/features.file-upload.php
dL
Hola dagi3d,
no entiendo muy bien. ¿Como quedaría el código de subida?
Un saludo y muchas gracias,
David
dagi3d
en el enlace que te he puesto hay ejemplos totalmente funcionales
dL
Hola,
probé uno de los códigos que hay en la página:
<code>foreach ($_FILES["imagen"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["imagen"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "$name");
}
}</code>
Me da el siguiente error:
<code>
Warning: move_uploaded_file(./imagenes/): failed to open stream: Is a directory in /home/miguel/domains/buscadomain.net/public_html/apolo/admin/add.php on line 45
Warning: move_uploaded_file(): Unable to move '/tmp/phpcmSBlX' to './imagenes/' in /home/miguel/domains/buscadomain.net/public_html/apolo/admin/add.php on line 45</code>
El directorio es correcto y tiene todos los permisos dados.
Espero que puedas ayudarme.
Un saludo,
David
dagi3d
se te ha colado esto del copypaste:
<code>$name = $_FILES["pictures"]["name"][$key]; </code>
dL
Hola dagi3d,
menuda metedura de pata. Gracias por el apunte. Ahora funciona a la perfección. Lo que no entiendo es porque no funcionaba antes, porque ese código le he usado mas veces. Bueno, misterios...
Un saludo y muchas gracias,
David