程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php的session讀寫鎖例子

php的session讀寫鎖例子

編輯:PHP綜合

先看一個例子,功能:

1.點擊頁面中一個按鈕,ajax執行php,php中用session記錄執行到哪一步。

2.使用ajax輪詢另一個php,獲取session中數據,輸出執行到哪一步。

session.html 調用php執行,並輸出執行到第幾步

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
 <head>  
  <meta http-equiv="content-type" content="text/html;charset=utf-8">  
  <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>  
  <title> session lock </title>  
 </head>  
      
 <body>  
  <input type="button" value="handle" onclick="handle()">  
  <div id="result"></div>  
  <script type="text/javascript">  
    function handle(){  
        $.get("handle.php"); // 執行handle  
      
        // 每500毫秒請求,獲取執行到第幾步  
        var et = setInterval(function(){  
            $.get("getstep.php",  
                function(data){  
                    $('#result').html('當前執行:' + data + '<br>');  
                    if(data=='complete'){  
                        clearInterval(et);  
                    }  
                }  
            );  
        },500);  
    }  
  </script>  
      
 </body>  
</html>

handle.php 執行並記錄執行到第幾步

<?php  
session_start();  
$_SESSION['step'] = '';  
$n = 1;  
while($n<=10){  
    $_SESSION['step'] = $n;  
    sleep(1);  
    $n++;  
}  
$_SESSION['step'] = 'complete';  
?>

getstep.php 獲取執行到第幾步

<?php  
session_start();  
echo isset($_SESSION['step'])? $_SESSION['step'] : '';  
?>

執行時發現,並不是每一步返回,而是等待10秒後直接返回complete。

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved