¿como colocar una barra de carga mientras sube archivos a la base de datos?
Publicado por hugo (42 intervenciones) el 07/11/2019 13:55:13
Buenos Dias
subo un archivo a mi base de datos con el siguiente codigo me gustaria poder mostrar una barra de proceso de carga real o en su defecto una imagen tipo gif que muestre que se esta cargardo aunque no sea real dado que ahora la pagina se queda en blanco durante 3 o 4 minutos mientras sube el archivo.
index.php
import.php
saludos
subo un archivo a mi base de datos con el siguiente codigo me gustaria poder mostrar una barra de proceso de carga real o en su defecto una imagen tipo gif que muestre que se esta cargardo aunque no sea real dado que ahora la pagina se queda en blanco durante 3 o 4 minutos mientras sube el archivo.
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
include('header.php');
include_once("db_connect.php");
?>
<script type="text/javascript" src="script/validation.min.js"></script>
<script type="text/javascript" src="script/login.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.js"></script>
<link href="css/style.css" rel="stylesheet" type="text/css" media="screen">
<?php include('container.php');?>
<div class="container">
<h2>Example: Import CSV File into MySQL using PHP</h2>
<?php if(!empty($import_status_message)){
echo '<div class="alert '.$message_stauts_class.'">'.$import_status_message.'</div>';
} ?>
<div class="panel panel-default">
<div class="panel-body">
<br>
<div class="row">
<form action="import.php" method="post" enctype="multipart/form-data" id="import_form">
<div class="col-md-3">
<input type="file" name="file" />
</div>
<div class="col-md-5">
<input type="submit" class="btn btn-primary" name="import_data" value="IMPORT"></div>
</form>
</div>
<?php
if(!empty($_GET['import_status'])) {
$sql = "SELECT COUNT(*) total FROM Hoja2 ORDER BY ccpp DESC LIMIT 26000";
$resultset = mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn));
$total = mysqli_fetch_row($resultset);
echo "La cantidad de registros es: ".$total[0];
if(mysqli_num_rows($resultset)) {
while( $rows = mysqli_fetch_assoc($resultset) ) {
?>
<?php } } else { ?>
<tr><td colspan="5">No records to display.....</td></tr>
<?php }
switch($_GET['import_status']) {
case 'success':
$message_stauts_class = 'alert-success';
$import_status_message = 'Employee data inserted successfully.';
break;
case 'error':
$message_stauts_class = 'alert-danger';
$import_status_message = 'Error: Please try again.';
break;
case 'invalid_file':
$message_stauts_class = 'alert-danger';
$import_status_message = 'Error: Please upload a valid CSV file.';
break;
default:
$message_stauts_class = '';
$import_status_message = '';
}
}
?>
import.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
include_once("db_connect.php");
$resultset = mysqli_query($conn, "DELETE FROM Hoja2");
if(isset($_POST['import_data'])){
// validate to check uploaded file is a valid csv file
$file_mimes = array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain');
if(!empty($_FILES['file']['name']) && in_array($_FILES['file']['type'],$file_mimes)){
if(is_uploaded_file($_FILES['file']['tmp_name'])){
$csv_file = fopen($_FILES['file']['tmp_name'], 'r');
//fgetcsv($csv_file);
// get data records from csv file
while(($emp_record = fgetcsv($csv_file,10000, ";")) !== FALSE){
// Check if employee already exists with same email
$sql_query = "SELECT ccpp, titular, ubicacion, fecha FROM Hoja2 WHERE ccpp = '".$emp_record[0]."'";
$resultset = mysqli_query($conn, $sql_query) or die("database error:". mysqli_error($conn));
$mysql_insert = "INSERT INTO Hoja2 (ccpp, titular, ubicacion , fecha )VALUES('".$emp_record[0]."', '".$emp_record[1]."', '".$emp_record[2]."', '".$emp_record[3]."')";
mysqli_query($conn, $mysql_insert) or die("database error:". mysqli_error($conn));
}
fclose($csv_file);
$import_status = '?import_status=success';
} else {
$import_status = '?import_status=error';
}
} else {
$import_status = '?import_status=invalid_file';
}
}
header("Location: index.php".$import_status);
?>
saludos
Valora esta pregunta


0