Hola, Quisiera saber como introdusco una barra que muestre el porcentaje de la subida del archivo al servidor con php.
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 :)