2012-05-11 23 views
5

Tôi nhớ đọc ở đâu đó gần đây mà bạn có thể có được phiên máy chủ khởi động thời gian ở định dạng dấu thời gian của thời gian chính xác một phiên php bắt đầu cho người dùng, nhưng tôi không thể tìm thấy bài viết này một lần nữa.làm thế nào để tìm ra phiên php bắt đầu timestamp

Điều tôi không muốn là thời gian yêu cầu (tức là thời gian 'REQUEST_TIME') hoặc "dấu thời gian hiện tại" khi thực hiện date() vì (nếu tôi hiểu chính xác), chúng sẽ thay đổi cho mỗi yêu cầu và thực thi từng tập lệnh .

Những gì tôi muốn là thời gian mà phiên được khởi xướng trên máy chủ, và điều này một cách logic chỉ có thể là một khoảnh khắc trong thời gian.

Có vẻ như đã truy xuất thông tin này.

Có ai giúp được không?

+0

Bạn nên làm một bookmark hoặc blog về nó nếu bạn tìm thấy một cái gì đó hữu ích trong internet. Sau đó, nó dễ dàng hơn để tìm thấy nó một lần nữa sau này. – hakre

+0

Tôi biết tôi biết. Tôi không thấy nó thú vị vào thời điểm đó ... nó phải trồng hạt giống và bây giờ tôi phải trả giá. – T9b

Trả lời

8

gì sai với:

if (!isset($_SESSION['started'])) { 
    $_SESSION['started'] = $_SERVER['REQUEST_TIME']; 
} 
+0

+1 đọc suy nghĩ của tôi :) –

+0

Nếu tôi hiểu chính xác đây là thời gian yêu cầu cho yêu cầu http cuối cùng. Ví dụ: nếu người dùng đã điều hướng đến một số trang, nó sẽ nắm bắt thời gian yêu cầu của điều hướng cuối cùng. Xin vui lòng cho tôi biết nếu tôi sai về điều này. – T9b

+2

@ T9b: Bạn đã sai. Thời gian chỉ được đặt một lần - khi $ _SESSION ['started'] không được đặt. Sau đó, khi thiết lập, nó là không bị ảnh hưởng, vì vậy luôn luôn là thời gian bắt đầu. – djot

3
if (!isset($_SESSION['start_time'])) 
{ 
    $str_time = time(); 
    $_SESSION['start_time'] = $str_time; 
} 

echo $_SESSION['start_time']; 
2

Nếu bạn muốn có một câu trả lời ngắn nhất

$_SESSION['started'] = (!isset($_SESSION['started'] ? time() : $_SESSION['started']); 
Các vấn đề liên quan