Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: jalbtercero en 16 Febrero 2017, 16:06 pm



Título: Porcentaje de progreso
Publicado por: jalbtercero en 16 Febrero 2017, 16:06 pm
Estroy haciendo unas pequeñas pruebas rapidas con una pagina web, tengo un arvhivo php para subir archivos, lo que me gustaria saber es como podri hacer que saliera el porcentage de progreso de subida del archivo mientras se esta subiendo?


upload.php
Código
  1. <?php
  2.  
  3. $user;
  4. if(isset($_POST['global'])) {
  5.  $user = "Global | " . $_SESSION["usuario"];
  6. } else {
  7.  $user = $_SESSION["usuario"];
  8. }
  9.  
  10. $desc = $_POST['desc'];
  11.  
  12. $target_dir;
  13.  
  14. if(isset($_POST['global'])) {
  15.  $target_dir = "global/";
  16. } else {
  17.  $target_dir = "personal_folders/".$_SESSION["usuario"]."/";
  18. }
  19.  
  20.  
  21. $target_file = $target_dir . basename($_FILES["archivo-a-subir"][name]);
  22. $upload_ok = 1;
  23. $imageType = pathinfo($target_file, PATHINFO_EXTENSION);
  24.  
  25. if(file_exists($target_file)) {
  26.  header('location:upload_existente.html');
  27.  $upload_ok = 0;
  28. }
  29.  
  30. if($imageType != "rar" && $imageType != "zip" && $imageType != "7zip") {
  31.  header('location:upload_extension.html');
  32.  $upload_ok = 0;
  33. }
  34.  
  35.  
  36. if($upload_ok == 0) {
  37.  echo "Lo sentimos pero tu archivo no se ha podido subir";
  38. } else {
  39.  if(move_uploaded_file($_FILES["archivo-a-subir"][tmp_name], $target_file)) {
  40.    require("connect_db.php");
  41.    $sql = mysqli_query($link,"INSERT INTO archivos VALUES('','$user','$desc','$target_file')");
  42.    if($sql) {
  43.      header('location:upload_correcto.html');
  44.    }
  45.  
  46.  } else {
  47.    header('location:upload_desconocido.html');
  48.  }
  49. }
  50. ?>
  51.  
  52.  


subida.php

Código
  1. <?php
  2. ?>
  3. <?php
  4. if (isset($_SESSION["usuario"])) {
  5.  
  6. } else {
  7. echo '<script language="javascript">location.href="login.php"</script>';
  8. }
  9. ?>
  10. <html>
  11.  <head>
  12.  
  13.    <link rel="stylesheet" type="text/css" href="css/subida.css">
  14.    <script type="text/javascript" src="js/subida.js"></script>
  15.  </head>
  16.  <body>
  17.  
  18.    <form class="menu-subida" enctype="multipart/form-data" action="upload.php" method="POST">
  19.  
  20.      <input name="archivo-a-subir" type="file" class="archivo" id="archivo" onchange="nombreArchivo()" required/><br>
  21.      <label for="archivo" id="archivoLabel" class="label">elige un archivo</label>
  22. <input type="checkbox" value="global" name="global" class="box" id="box">
  23. <label for="box" class="boxlabel">Subir archivo globalmente</label>
  24. <div class="" id="charge"></div>
  25.      <input type="text" class="descripcion" placeholder="Descripcion" name="desc" id="desc" required/>
  26.      <input type="submit" value="Subir Archivo" name="boton" class="botonEnviar" id="submit" onclick="checkFile(),chargeGif()"/>
  27.  
  28.      <input type="button" value="Inicio" name="nada" class="botonInicio" onclick="location.href='index.php'"/>
  29.  </form>
  30.  
  31.  
  32.  
  33.  
  34.  </body>
  35. </html>
  36.  
  37.  


Título: Re: Porcentaje de progreso
Publicado por: engel lex en 16 Febrero 2017, 23:31 pm
tendrías que hacer un subirdor de archivo basado en AJAX, tal que un jscript sepa el tamaño del archivo, vaya suebiendo y vaya reportando el resultado