Home>Article>Backend Development> What is the method to implement progress bar in php
The method for php to implement the progress bar is: 1. Use ajax to request the address of the logical processing; 2. During the logical processing, use the session to save the processing progress; 3. Use ajax to request another address for querying the progress. , thereby achieving real-time feedback.
There are two main ways to implement the progress bar in php. One is to use "output buffer control" to directly output the progress bar, and the other is the ajax method.
(Learning video recommendation:java course)
First let’s talk about the “output buffer control” method:
This method mainly uses several functions of PHP Buffering function, this method can be run directly without changing the configuration file. The code is posted below:
正在处理...0%%
The "ajax method" is a little more troublesome. The logic of this method is to use ajax to request first (preferably It is the address of "logical processing" (asynchronous request). During the logical processing, use session or other storage media (such as memcache, redis, etc.) to save the processing progress, and use ajax to request (preferably a synchronous request) another address to query the progress. , to achieve real-time feedback.
The code is as follows:
First is the html file
同步
test.php file
intval($proportion*100), 'progress' => intval($width*($i+1)/$length), 'msg' => $msg ); session_start(); $_SESSION['now_percent' . $timestamp] = $data; session_write_close(); //释放session锁 } echo json_encode(array( 'code' => 10000, 'data' => $data ));
test1.php
10001, 'msg' => '正在处理...' ));exit; }else{ echo json_encode(array( 'code' => 10000, 'data' => $now_percent ));exit; }
Supplement:
1. The reason why setTimeout is used instead of setinterval to check regularly is because if the set time is too short and the request response time is too long, the display will be chaotic.
2. After using the session, be careful to release it in time, otherwise the query will be waiting because the session is locked. It is best to release it after use.
Related recommendations:php training
The above is the detailed content of What is the method to implement progress bar in php. For more information, please follow other related articles on the PHP Chinese website!