Học PHP
PHP là ngôn ngữ kịch bản máy chủ và một công cụ mạnh mẽ để tạo các trang web năng động và tương tác.
PHP là một sự thay thế được sử dụng rộng rãi, miễn phí và hiệu quả cho các đối thủ cạnh tranh như Microsoft's ASP.
Bắt đầu học PHP ngay bây giờ »
Dễ học với "php tryit"
Với trình chỉnh sửa "Php Tryit" trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã PHP và nhấp vào nút để xem kết quả.
Thí dụ
Try it Yourself »
Hãy tự mình thử »
Nhấp vào nút "Hãy tự mình thử" để xem nó hoạt động như thế nào.
Bài tập PHP
Ví dụ PHP
Tìm hiểu bằng ví dụ! Hướng dẫn này bổ sung tất cả các giải thích với các ví dụ làm rõ.
Xem tất cả các ví dụ PHP
Bài kiểm tra câu đố PHP
Tìm hiểu bằng cách làm một bài kiểm tra! Câu đố này sẽ cung cấp cho bạn một tín hiệu về mức độ bạn biết hoặc không biết về PHP.
Bắt đầu câu đố PHP!
Việc học của tôi
Theo dõi tiến trình của bạn với chương trình "Học tập" miễn phí tại đây tại W3Schools.
Đăng nhập vào tài khoản của bạn và bắt đầu kiếm điểm!
Đây là một tính năng tùy chọn. Bạn có thể học W3Schools mà không cần sử dụng học tập của tôi.
Tài liệu tham khảo PHP
Tham chiếu PHP của W3Schools chứa các loại khác nhau của tất cả các hàm, từ khóa và hằng số PHP, cùng với các ví dụ.
Khởi động sự nghiệp của bạnthe course
Được chứng nhận bằng cách hoàn thành khóa học
Được chứng nhậnthông tin tại mtprod dot com ¶
Jarrod tại Squarecrow Dot Com ¶ — Server and execution environment information
pomat tại trực tiếp dot nó ¶
9 năm trướcarray containing information such as headers, paths, and script locations. The entries in this array are created by the web server, therefore there is no guarantee that every web server will provide any of these; servers may omit some, or provide others not listed here. However, most of these variables are accounted for in the » CGI/1.1 specification, and are likely to be defined.
centurianii tại yahoo dot co dot uk ¶: When running PHP on the command line most of these entries will not be available or have any meaning.
pudding06 tại gmail dot com
PHP tại isnoop dot net ¶
12 năm trước The filename of the currently executing script, relative to the document root. For instance, $_SERVER['PHP_SELF'] in a script at the address //example.com/foo/bar.php would be /foo/bar.php. The __FILE__ constant contains the full path and filename of the current [i.e. included] file. If PHP is running as a command-line processor this variable contains the script name. 'argv' Array of arguments passed to the script. When the script is run on the command line, this gives C-style access to the command line parameters. When called via the GET method, this will contain the query string. 'argc' Contains the number of command line parameters passed to the script [if run on the command line]. 'GATEWAY_INTERFACE' What revision of the CGI specification the server is using; e.g.'CGI/1.1'
. 'SERVER_ADDR' The IP address of the server under which the current script is executing. 'SERVER_NAME' The name of the server host under which the current script is executing. If the script is running on a
virtual host, this will be the value defined for that virtual host. 4 năm trước Server identification string, given in the headers when responding to requests. 'SERVER_PROTOCOL' Name and revision of the information protocol via which the page was requested; e.g.Liljoshu ¶: Under Apache 2,
UseCanonicalName = On
andServerName
must be set. Otherwise, this value reflects the hostname supplied by the client, which can be spoofed. It is not safe to rely on this value in security-dependent contexts.
'HTTP/1.0'
; 'REQUEST_METHOD' Which request method was used to access the page; e.g. 'GET'
, 'HEAD'
, 'POST'
, Accept-Language
0. Mirko Dot Steiner tại Slashdevslashnull dot de ¶ The timestamp of the start of the request. 'REQUEST_TIME_FLOAT' The timestamp of the start of the request, with microsecond precision. 'QUERY_STRING' The query string, if any, via which the page was accessed. 'DOCUMENT_ROOT' The document root directory under which the current script is executing, as defined in the server's configuration file. 'HTTPS' Set to a non-empty value if the script was queried through the HTTPS protocol. 'REMOTE_ADDR' The IP address from which the user is viewing the current page. 'REMOTE_HOST' The Host name from which the user is viewing the current page. The reverse dns lookup is based on the REMOTE_ADDR of the user.jit_chavan tại yahoo dot com ¶:
8 năm trước
'Remote_port' cổng đang được sử dụng trên máy của người dùng để liên lạc với máy chủ web. 'Remote_user' người dùng được xác thực. 'Redirect_Remote_user' Người dùng được xác thực nếu yêu cầu được chuyển hướng nội bộ. 'Script_filename' The port being used on the user's machine to communicate with the web server. 'REMOTE_USER' The authenticated user. 'REDIRECT_REMOTE_USER' The authenticated user if the request is internally redirected. 'SCRIPT_FILENAME'Lưu ý: Máy chủ web phải được cấu hình để tạo biến này. Ví dụ: trong Apache
Accept-Language
2 phải được đặt bên trong httpd.conf để nó tồn tại. Xem thêm Gethostbyaddr [].: The web server must be configured to create this variable. For example in ApacheAccept-Language
2 must be set inside httpd.conf for it to exist. See also gethostbyaddr[].
Tên đường dẫn tuyệt đối của tập lệnh hiện đang thực thi.
'Server_admin' Giá trị được cung cấp cho lệnh server_admin [cho apache] trong tệp cấu hình máy chủ web. Nếu tập lệnh đang chạy trên máy chủ ảo, đây sẽ là giá trị được xác định cho máy chủ ảo đó. 'Server_port' cổng trên máy chủ đang được máy chủ web sử dụng để liên lạc. Đối với các thiết lập mặc định, điều này sẽ làGhi chú::
Nếu một tập lệnh được thực thi với CLI, dưới dạng đường dẫn tương đối, chẳng hạn như file.php hoặc ../file.php, $ _server ['script_filename'] sẽ chứa đường dẫn tương đối được chỉ định bởi người dùng.
Accept-Language
3; Ví dụ, sử dụng SSL sẽ thay đổi điều này thành bất cứ điều gì mà cổng HTTP an toàn đã xác định của bạn. The value given to the SERVER_ADMIN [for Apache] directive in the web server configuration file. If the script is running on a virtual host, this will be the value defined for that virtual host. 'SERVER_PORT' The port on the server machine being used by the web server
for communication. For default setups, this will be Accept-Language
3; using SSL, for instance, will change this to whatever your defined secure HTTP port is. Chuỗi 'server_signature' chứa phiên bản máy chủ và tên máy chủ ảo được thêm vào các trang do máy chủ tạo, nếu được bật. Hệ thống tập tin 'path_translated' [không phải là đường dẫn dựa trên root-] dựa trên tập lệnh hiện tại, sau khi máy chủ đã thực hiện bất kỳ ánh xạ ảo đến thực tế nào. String containing the server version and virtual host name which are added to server-generated pages, if enabled. 'PATH_TRANSLATED' Filesystem- [not document root-] based path to the current script, after the server has done any virtual-to-real mapping.Lưu ý: Theo Apache 2,
UseCanonicalName = On
, cũng nhưAccept-Language
5 phải được đặt để lấy cổng vật lý [thực], nếu không, giá trị này có thể bị giả mạo và nó có thể hoặc không thể trả về giá trị cổng vật lý. Không an toàn khi dựa vào giá trị này trong bối cảnh phụ thuộc bảo mật.: Under Apache 2,UseCanonicalName = On
, as well asAccept-Language
5 must be set in order to get the physical [real] port, otherwise, this value can be spoofed, and it may or may not return the physical port value. It is not safe to rely on this value in security-dependent contexts.
'Script_name' chứa đường dẫn của tập lệnh hiện tại. Điều này rất hữu ích cho các trang cần phải chỉ vào chính mình. Hằng số __file__ chứa đường dẫn và tên tệp đầy đủ của tệp hiện tại [tức là bao gồm]. 'Request_uri' URI được đưa ra để truy cập trang này; Ví dụ, 'Lưu ý: Người dùng Apache 2 có thể sử dụng
Accept-Language
6 bên trong httpd.conf để xác định path_info.: Apache 2 users may useAccept-Language
6 inside httpd.conf to define PATH_INFO.
Accept-Language
7'. 'PHP_AUTH_DIGEST' Khi thực hiện xác thực HTTP Digest HTTP này được đặt thành tiêu đề 'ủy quyền' được gửi bởi máy khách [sau đó bạn nên sử dụng để thực hiện xác thực phù hợp]. 'PHP_AUTH_USER' Khi thực hiện xác thực HTTP, biến này được đặt thành tên người dùng do người dùng cung cấp. 'PHP_AUTH_PW' Khi thực hiện xác thực HTTP, biến này được đặt thành mật khẩu do người dùng cung cấp. 'Auth_Type' Khi thực hiện xác thực HTTP Biến này được đặt thành loại xác thực. 'PATH_INFO' chứa bất kỳ thông tin đường dẫn do khách hàng cung cấp theo tên tệp tập lệnh thực tế nhưng trước chuỗi truy vấn, nếu có. Chẳng hạn, nếu tập lệnh hiện tại được truy cập thông qua URI //www.example.com/php/path_info.php/some/stuff?foo=bar, thì $ _Server ['path_info'] sẽ chứa Accept-Language
8. 'Orig_path_info' phiên bản gốc của 'path_info' trước khi được xử lý bởi PHP. Contains the current script's path. This is useful for pages which need to point to themselves. The __FILE__ constant contains the full path and filename of the current [i.e. included] file. 'REQUEST_URI' The URI which was given in order to access this page; for instance, 'Accept-Language
7'.
'PHP_AUTH_DIGEST' When doing Digest HTTP authentication this variable is set to the 'Authorization' header sent by the client [which you should then use to make the appropriate validation]. 'PHP_AUTH_USER' When doing HTTP authentication this variable is set to the username provided by the user. 'PHP_AUTH_PW' When doing HTTP authentication this variable is set to the password
provided by the user. 'AUTH_TYPE' When doing HTTP authentication this variable is set to the authentication type. 'PATH_INFO' Contains any client-provided pathname information trailing the actual script filename but preceding the query string, if available. For instance, if the current script was accessed via the URI //www.example.com/php/path_info.php/some/stuff?foo=bar, then
$_SERVER['PATH_INFO'] would contain Accept-Language
8. 'ORIG_PATH_INFO' Original version of 'PATH_INFO' before processed by PHP. Ví dụ
Ví dụ #1 $ _Server Ví dụ
Accept-Language
9
Ví dụ trên sẽ xuất ra một cái gì đó tương tự như:
Ghi chú
Ghi chú::
Nếu một tập lệnh được thực thi với CLI, dưới dạng đường dẫn tương đối, chẳng hạn như file.php hoặc ../file.php, $ _server ['script_filename'] sẽ chứa đường dẫn tương đối được chỉ định bởi người dùng.global $variable; to access it within functions or methods.
'Server_admin' Giá trị được cung cấp cho lệnh server_admin [cho apache] trong tệp cấu hình máy chủ web. Nếu tập lệnh đang chạy trên máy chủ ảo, đây sẽ là giá trị được xác định cho máy chủ ảo đó. 'Server_port' cổng trên máy chủ đang được máy chủ web sử dụng để liên lạc. Đối với các thiết lập mặc định, điều này sẽ là Accept-Language
3; Ví dụ, sử dụng SSL sẽ thay đổi điều này thành bất cứ điều gì mà cổng HTTP an toàn đã xác định của bạn. ¶
Lưu ý: Theo Apache 2, UseCanonicalName = On
, cũng như Accept-Language
5 phải được đặt để lấy cổng vật lý [thực], nếu không, giá trị này có thể bị giả mạo và nó có thể hoặc không thể trả về giá trị cổng vật lý. Không an toàn khi dựa vào giá trị này trong bối cảnh phụ thuộc bảo mật.
$_SERVER['HTTP_ACCEPT_LANGUAGE']
0
$_SERVER['HTTP_ACCEPT_LANGUAGE']
1
$_SERVER['HTTP_ACCEPT_LANGUAGE']
2
$_SERVER['HTTP_ACCEPT_LANGUAGE']
3
$_SERVER['HTTP_ACCEPT_LANGUAGE']
4
$_SERVER['HTTP_ACCEPT_LANGUAGE']
5
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Chuỗi 'server_signature' chứa phiên bản máy chủ và tên máy chủ ảo được thêm vào các trang do máy chủ tạo, nếu được bật. Hệ thống tập tin 'path_translated' [không phải là đường dẫn dựa trên root-] dựa trên tập lệnh hiện tại, sau khi máy chủ đã thực hiện bất kỳ ánh xạ ảo đến thực tế nào. ¶
Lưu ý: Người dùng Apache 2 có thể sử dụng Accept-Language
6 bên trong httpd.conf để xác định path_info.
$_SERVER['HTTP_ACCEPT_LANGUAGE']
7
$_SERVER['HTTP_ACCEPT_LANGUAGE']
8
$_SERVER['HTTP_ACCEPT_LANGUAGE']
9
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6 'Script_name' chứa đường dẫn của tập lệnh hiện tại. Điều này rất hữu ích cho các trang cần phải chỉ vào chính mình. Hằng số __file__ chứa đường dẫn và tên tệp đầy đủ của tệp hiện tại [tức là bao gồm]. 'Request_uri' URI được đưa ra để truy cập trang này; Ví dụ, 'Accept-Language
7'. 'PHP_AUTH_DIGEST' Khi thực hiện xác thực HTTP Digest HTTP này được đặt thành tiêu đề 'ủy quyền' được gửi bởi máy khách [sau đó bạn nên sử dụng để thực hiện xác thực phù hợp]. 'PHP_AUTH_USER' Khi thực hiện xác thực HTTP, biến này được đặt thành tên người dùng do người dùng cung cấp. 'PHP_AUTH_PW' Khi thực hiện xác thực HTTP, biến này được đặt thành mật khẩu do người dùng cung cấp. 'Auth_Type' Khi thực hiện xác thực HTTP Biến này được đặt thành loại xác thực. 'PATH_INFO' chứa bất kỳ thông tin đường dẫn do khách hàng cung cấp theo tên tệp tập lệnh thực tế nhưng trước chuỗi truy vấn, nếu có. Chẳng hạn, nếu tập lệnh hiện tại được truy cập thông qua URI //www.example.com/php/path_info.php/some/stuff?foo=bar, thì $ _Server ['path_info'] sẽ chứa Accept-Language
8. 'Orig_path_info' phiên bản gốc của 'path_info' trước khi được xử lý bởi PHP. ¶
Ví dụ
'CGI/1.1'
1
'CGI/1.1'
2
'CGI/1.1'
3
'CGI/1.1'
4
'CGI/1.1'
5
'CGI/1.1'
6
'CGI/1.1'
7
'CGI/1.1'
8
'CGI/1.1'
9
UseCanonicalName = On
0
UseCanonicalName = On
1
UseCanonicalName = On
2
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Ví dụ #1 $ _Server Ví dụ ¶
Lưu ý: Theo Apache 2, UseCanonicalName = On
, cũng như Accept-Language
5 phải được đặt để lấy cổng vật lý [thực], nếu không, giá trị này có thể bị giả mạo và nó có thể hoặc không thể trả về giá trị cổng vật lý. Không an toàn khi dựa vào giá trị này trong bối cảnh phụ thuộc bảo mật.
UseCanonicalName = On
4
UseCanonicalName = On
5
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Chuỗi 'server_signature' chứa phiên bản máy chủ và tên máy chủ ảo được thêm vào các trang do máy chủ tạo, nếu được bật. Hệ thống tập tin 'path_translated' [không phải là đường dẫn dựa trên root-] dựa trên tập lệnh hiện tại, sau khi máy chủ đã thực hiện bất kỳ ánh xạ ảo đến thực tế nào. ¶
Lưu ý: Người dùng Apache 2 có thể sử dụng Accept-Language
6 bên trong httpd.conf để xác định path_info.
UseCanonicalName = On
7
UseCanonicalName = On
8
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6 'Script_name' chứa đường dẫn của tập lệnh hiện tại. Điều này rất hữu ích cho các trang cần phải chỉ vào chính mình. Hằng số __file__ chứa đường dẫn và tên tệp đầy đủ của tệp hiện tại [tức là bao gồm]. 'Request_uri' URI được đưa ra để truy cập trang này; Ví dụ, 'Accept-Language
7'. 'PHP_AUTH_DIGEST' Khi thực hiện xác thực HTTP Digest HTTP này được đặt thành tiêu đề 'ủy quyền' được gửi bởi máy khách [sau đó bạn nên sử dụng để thực hiện xác thực phù hợp]. 'PHP_AUTH_USER' Khi thực hiện xác thực HTTP, biến này được đặt thành tên người dùng do người dùng cung cấp. 'PHP_AUTH_PW' Khi thực hiện xác thực HTTP, biến này được đặt thành mật khẩu do người dùng cung cấp. 'Auth_Type' Khi thực hiện xác thực HTTP Biến này được đặt thành loại xác thực. 'PATH_INFO' chứa bất kỳ thông tin đường dẫn do khách hàng cung cấp theo tên tệp tập lệnh thực tế nhưng trước chuỗi truy vấn, nếu có. Chẳng hạn, nếu tập lệnh hiện tại được truy cập thông qua URI //www.example.com/php/path_info.php/some/stuff?foo=bar, thì $ _Server ['path_info'] sẽ chứa Accept-Language
8. 'Orig_path_info' phiên bản gốc của 'path_info' trước khi được xử lý bởi PHP. ¶
Ví dụ
ServerName
0
ServerName
1
ServerName
2
ServerName
3
ServerName
4
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Ví dụ #1 $ _Server Ví dụ ¶
Ví dụ
ServerName
6
ServerName
7
ServerName
8
ServerName
9
'HTTP/1.0'
0
'HTTP/1.0'
1
'HTTP/1.0'
2
'HTTP/1.0'
3
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Ví dụ #1 $ _Server Ví dụ ¶
Lưu ý: Theo Apache 2, UseCanonicalName = On
, cũng như Accept-Language
5 phải được đặt để lấy cổng vật lý [thực], nếu không, giá trị này có thể bị giả mạo và nó có thể hoặc không thể trả về giá trị cổng vật lý. Không an toàn khi dựa vào giá trị này trong bối cảnh phụ thuộc bảo mật.
'HTTP/1.0'
5
'HTTP/1.0'
6
'HTTP/1.0'
7
'HTTP/1.0'
8
'HTTP/1.0'
9
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Ví dụ #1 $ _Server Ví dụ ¶
Ví dụ
'GET'
1
'GET'
2
'GET'
3
'GET'
4
'GET'
5
'GET'
6
'HTTP/1.0'
2
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Ví dụ #1 $ _Server Ví dụ ¶
Ví dụ trên sẽ xuất ra một cái gì đó tương tự như:
'GET'
9
'HEAD'
0
'HEAD'
1
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Ghi chú ¶
Đây là một 'Superglobal', hoặc biến toàn cầu, tự động. Điều này đơn giản có nghĩa là nó có sẵn trong tất cả các phạm vi trong suốt một kịch bản. Không cần phải thực hiện biến $ toàn cầu; để truy cập nó trong các chức năng hoặc phương pháp.
'HEAD'
3
'HEAD'
4
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Vladimir Kornea ¶ ¶
13 năm trước
'HEAD'
6
Vcoletti tại Tiscali Dot it ¶ ¶
Ví dụ
'HEAD'
7
'HEAD'
8
'HEAD'
9
'POST'
0
'POST'
1
'POST'
2
'POST'
3
'POST'
4
'POST'
5
'POST'
6
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Steve tại Sc-Fa Dot Com ¶ ¶
13 năm trước
'POST'
8
'POST'
9
Accept-Language
00
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Mark Simon ¶ ¶
3 năm trước
Accept-Language
02
Accept-Language
03
Accept-Language
04
Accept-Language
05
Accept-Language
06
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Richard York ¶ ¶
13 năm trước
Accept-Language
08
Accept-Language
09
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Mark Simon ¶ ¶
3 năm trước
Accept-Language
11
Accept-Language
12
Accept-Language
13
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Richard York ¶ ¶
Stefano [Thông tin tại Sarchittu Dot Org] ¶
Accept-Language
15
Accept-Language
16
$_SERVER['HTTP_ACCEPT_LANGUAGE']
611 năm trước ¶
Danieltahar ¶
Accept-Language
18
Accept-Language
19
Accept-Language
20
Accept-Language
21
$_SERVER['HTTP_ACCEPT_LANGUAGE']
62 năm trước ¶
Chris at Ocproducts Dot Com ¶
Accept-Language
23
5 năm trước ¶
3 năm trước
Accept-Language
24
Accept-Language
25
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Richard York ¶ ¶
13 năm trước
Accept-Language
27
Stefano [Thông tin tại Sarchittu Dot Org] ¶ ¶
13 năm trước
Accept-Language
28
Accept-Language
29
$_SERVER['HTTP_ACCEPT_LANGUAGE']
611 năm trước ¶
Danieltahar ¶
Accept-Language
31
Accept-Language
32
Accept-Language
33
Accept-Language
34
$_SERVER['HTTP_ACCEPT_LANGUAGE']
62 năm trước ¶
Danieltahar ¶
Accept-Language
36
Accept-Language
37
Accept-Language
38
Accept-Language
39
$_SERVER['HTTP_ACCEPT_LANGUAGE']
62 năm trước ¶
13 năm trước
Accept-Language
41
Accept-Language
42
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Chris at Ocproducts Dot Com ¶ ¶
5 năm trước
Accept-Language
44
Accept-Language
45
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6Tom ¶ ¶
10 năm trước
Accept-Language
47
Accept-Language
48
Accept-Language
49
Accept-Language
50
Accept-Language
51
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6picov tại e-link dot nó ¶ ¶
thông tin tại mtprod dot com ¶
Accept-Language
53
Jarrod tại Squarecrow Dot Com ¶ ¶
13 năm trước
Accept-Language
54
Accept-Language
55
Accept-Language
56
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6pomat tại trực tiếp dot nó ¶ ¶
13 năm trước
Accept-Language
58
9 năm trước ¶
5 năm trước
Accept-Language
59
Tom ¶ ¶
10 năm trước
Accept-Language
60
picov tại e-link dot nó ¶ ¶
Stefano [Thông tin tại Sarchittu Dot Org] ¶
Accept-Language
61
11 năm trước ¶
10 năm trước
Accept-Language
62
Accept-Language
63
Accept-Language
64picov tại e-link dot nó ¶ ¶
13 năm trước
Accept-Language
65
Accept-Language
66
Accept-Language
67
Accept-Language
68
$_SERVER['HTTP_ACCEPT_LANGUAGE']
6