hola gente yo de nuevo por estos lares.
veran consegui de una pagina un sistema de upload (convencional) con un solo input para subir (un archivo a la vez), pero a este le agregue un codigo que estaba dando vueltas por internet y lo realice multi upload (sube mas de un archivo a la vez). Pero que pasa? que me sube el primer fichero, pero a los demas no lo toca haciendo que quede un "upload convencional"
aca el codigo
****************************
upload.php Código PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>PHP upload</title>
<link href="estilo.css" rel="stylesheet" type="text/css" />
<script type="application/javascript" language="javascript">
var upload_number = 4;
function addFileInput() {
var d = document.createElement("div");
var file = document.createElement("input");
file.setAttribute("type", "file");
file.setAttribute("name", "archivo"+upload_number);
d.appendChild(file);
document.getElementById("moreUploads").appendChild(d);
upload_number++;
}
function setBlock() {
document.getElementById('moreLink').style.display = 'block';
}
</script>
</head>
<body>
<table width="413" border="2" cellspacing="0" cellpadding="0" bordercolor="#FF0000" align="center">
<tr>
<td width="413" height="40" class="titulo">PHP upload - unijimpe </td>
</tr>
<tr>
<td class="text">Por favor seleccione el archivo a subir:</td>
</tr>
<tr>
<form action="subearchivo.php" method="post" enctype="multipart/form-data">
<td class="text">
<input type="file" name="archivo" class="casilla" size="35" id="archivo" onChange="setBlock();" />
<div id="moreUploads"></div>
<div id="moreLink" style="display:none;"><a href="javascript:addFileInput();">Agregar mas</a></div>
<!--<input name="archivo" type="file" class="casilla" id="archivo" size="35" />-->
<div align="center"><input name="enviar" type="submit" class="boton" id="enviar" value="Upload File" />
<input name="action" type="hidden" value="upload" /></div> </td>
</form>
</tr>
<tr>
<td class="text" style="color:#990000"><?php echo $status; ?></td>
</tr>
<tr>
<td height="30" class="subtitulo">Listado de Archivos Subidos </td>
</tr>
<tr>
<td class="infsub">
<?php
if ($gestor = opendir('files')) {
echo "<ul>";
while (false !== ($arch = readdir($gestor))) {
if ($arch != "." && $arch != "..") {
echo "<li><a href=\"files/".$arch."\" class=\"linkli\">".$arch."</a></li>\n";
}
}
closedir($gestor);
echo "</ul>";
}
?> </td>
</tr>
</table>
</body>
</html>
bueno aca es simple no hay que decir mucho, lo que tenemos en pantalla es el formulario de envio del archivo en el
javascript es dnd nos permite abrir mas de un input a la vez.
subearchivo.php
Código PHP:
<?php
$status = "";
if ($_POST["action"] == "upload") {
// obtenemos los datos del archivo
$tamano = $_FILES["archivo"]['size'];
$tipo = $_FILES["archivo"]['type'];
$archivo = $_FILES["archivo"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);
if ($archivo != "") {
// guardamos el archivo a la carpeta files
$destino = "files/".$prefijo."_".$archivo;
if (copy($_FILES['archivo']['tmp_name'],$destino)) {
$status = "Archivo subido: <b>".$archivo."</b>";
} else {
$status = "Error al subir el archivo";
}
} else {
$status = "Error al subir archivo";
}
}
?>
y este es el codigo de proceso, pero como dije antes, "me carga el primer input pero los demas no lo toca.
El ejemplo lo tengo andando, para ver como funciona
http://radiolive.netau.net/hash/upload.php,
agradeceria a quien me pudiera ayudar en este proyecto