Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/08/2012, 11:43
Avatar de chinofilmshd
chinofilmshd
 
Fecha de Ingreso: agosto-2012
Ubicación: Republica Dominicana
Mensajes: 47
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta Barra de progreso php para un script de upload

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 :)