Aqui les muestro mi codigo que hace el proceso de enviar el archivo:
Código HTML:
<form action="subearchivo.php" enctype="multipart/form-data" method="post"> <table class="file_slot" cellpadding="0" cellspacing="3" width="360"> <tbody> <tr> <td width="1%" align="right"><b>Filename:</b></td> <td nowrap="nowrap"> <input name="file_name" type="file" id="name" /></td> </tr> <tr> <td align="right" nowrap="nowrap"><b>Uploaded by:</b></td> <td><label for="select"></label> <select name="upload_by" id="upload_by"> <option value="Unrelease" selected="selected">Quien Eres?</option> <option value="DannyGraph">DannyGraph</option> <option value="Shelson">Shelson</option> <option value="ChinoFilms">Chino</option> </select></td> </tr> <tr> <td align="right" valign="top"><b>Description:</b></td> <td><input type="text" name="descripcion" id="descripcion" /></td> </tr> <tr> <td align="right" valign="top"><b>Fecha:</b></td> <td><input name="upload_date_file" type="text" id="upload_date_file" value="<?php echo date ( "d-m-Y H:i:s" , time () ); ?>" readonly="readonly" /></td> </tr> <tr> <td align="right"><b>Datos:</b></td> <td><input type="text" name="cadenatexto" id="cadenatexto" /></td> </tr> <tr> <td align="center" colspan="2"> <input type="submit" name="button" id="button" value="Subir Archivo" /></div></td></tr></tbody></table></form>
SubeArchivo.php esta se encarga de guardar los datos en la base de datos y sube el archivo al servidor:
Código PHP:
<?
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto = $_POST["cadenatexto"];
echo "Escribió en el campo de texto: " . $cadenatexto . "<br><br>";
//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['file_name']['name'];
$tipo_archivo = $HTTP_POST_FILES['file_name']['type'];
$tamano_archivo = $HTTP_POST_FILES['file_name']['size'];
$destino = './musica/'.$nombre_archivo;
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "mp3") || strpos($tipo_archivo, "MP3")) && ($tamano_archivo < 900000000000000000000000000000000000000000000000000000))) {
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
if (copy($_FILES['file_name']['tmp_name'],$destino)) {
echo "El archivo ha sido cargado correctamente.";
} else {
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
?>
<?php
// Si entramos es que todo se ha realizado correctamente
$d_host = "localhost"; // MySQL server host
$d_port = ""; // MySQL server port
$d_user = "uservm"; // MySQL username
$d_pass = "123"; // MySQL password
$db_name = "dbvm";
//La conexión
$coneccion = mysql_connect($d_host,$d_user,$d_pass) or die ('No se puede conectar con la DB por que: ' . mysql_error());
mysql_select_db($db_name,$coneccion);
# se recogen los datos del formulario
$file_name = $_POST['file_name'];
$upload_by = $_POST['upload_by'];
$descripcion = $_POST['descripcion'];
$upload_date_file = $_POST['upload_date_file'];
//Insertando en la base de datos
$sql="INSERT INTO upload_files (file_name,upload_by,descripcion,file_size,upload_date_file) VALUES ('$nombre_archivo','$upload_by','$descripcion','$tamano_archivo','$upload_date_file')";
mysql_query($sql,$coneccion) or die (mysql_error());
?>
<?php
$result = mysql_query("SELECT * FROM upload_files WHERE upload_date_file = '$upload_date_file' ORDER BY id_file DESC LIMIT 1", $coneccion);
if ($row = mysql_fetch_array($result)){
//Aqui le pongo una bariable al id del archivo
$idarchivo = $row['id_file'];
$nombrefile = $row['file_name'];
while ($row = mysql_fetch_array($result));
} else {
echo "¡ La base de datos está vacia !";
}
?>
El Tema es que quisiera que muestre una Barra de porcentaje del proceso del upload, es lo unico. Gracias ! Espero que hayan entendido :)