Hola a todos! Tengo un problema con este código y creo que el tema debe de estar en el javascript, por eso creí conveniente postearlo acá.
Resulta que estoy tratando de realizar múltiples upluads pero solo me sube el primer archivo seleccionado. Todo este código va en la misma página. Les muestro el código:
Este es el formulario: upload.php
Código HTML:
<form action="" method="post" enctype="multipart/form-data">
<p>Seleccionar archivo:
<input type="file" name="attach" id="attach" onchange="setBlock();" />
<div id="moreUploads"></div>
<div id="moreLink" style="display:none;">
<a href="javascript:addFileInput();">Agregar otro Archivo</a>
</div>
<input type="submit" name="enviar" value="Upload" />
<input type="hidden" name="action" value="upload" />
</form>
Este es el código javascript
:
Código:
<script language="javascript">
var upload_number = 2;
function addFileInput() {
var d = document.createElement("div");
var file = document.createElement("input");
file.setAttribute("type", "file");
file.setAttribute("name", "attach"+upload_number);
d.appendChild(file);
document.getElementById("moreUploads").appendChild(d);
upload_number++;
}
function setBlock() {
document.getElementById('moreLink').style.display = 'block';
}
</script>
Y este el código que procesa los datos para subirlos al servidor:
Código PHP:
<?
$rpta = "";
if ($_POST["action"] == "upload") {
$tmpfile = $_FILES['attach']['tmp_name'];
$tmpname = $_FILES['attach']['name'];
$ftpuser = "xxxxxx";
$ftppass = "xxxxxx";
$ftppath = "ftp.miservirod.com/public_html/web/fotos/";
$ftpurl = "ftp://".$ftpuser.":".$ftppass."@".$ftppath;
if ($tmpname != "") {
$fp = fopen($tmpfile, 'r');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ftpurl.$tmpname);
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($tmpfile));
curl_exec($ch);
$error = curl_errno($ch);
curl_close ($ch);
if ($error == 0) {
$rpta = 'Archivo subido correctamente.';
} else {
$rpta = 'Error al subir el archivo.';
}
} else {
$rpta = 'Seleccionar un archivo.';
}
}
?>
Como les decia anteriormente, solo me sube el primer archivo seleccionado. ¿Dónde puede estar el error?
Muchas gracias a todos.
Saludos. Marx.