TopDev

Các hàm Network - PHP Network

minhu 📖 3 phút đọc

PHP cung cấp nhiều hàm mạng để làm việc với kết nối mạng, bao gồm gửi yêu cầu HTTP, làm việc với socket, DNS, và các giao thức mạng khác. Dưới đây là danh sách các hàm mạng phổ biến trong PHP cùng với các ví dụ minh họa.

Các hàm mạng phổ biến#

Hàm cURL

cURL là một thư viện phổ biến để thực hiện các yêu cầu HTTP và FTP.

  • curl_init(): Khởi tạo một phiên cURL.

$ch = curl_init();

  • curl_setopt(): Thiết lập các tùy chọn cho phiên cURL.

curl_setopt($ch, CURLOPT_URL, "https://api.example.com/data"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

  • curl_exec(): Thực thi phiên cURL và lấy kết quả.

$response = curl_exec($ch); echo $response;

  • curl_close(): Đóng phiên cURL.

curl_close($ch);

  • Ví dụ hoàn chỉnh về cURL

` $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.example.com/data"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch);

if ($response === false) { echo "cURL Error: " . curl_error($ch); } else { echo "Response: " . $response; } `

Hàm DNS

  • gethostbyname(): Lấy địa chỉ IP của một tên máy chủ.

$ip = gethostbyname('www.example.com'); echo "IP Address: " . $ip; // IP Address: 93.184.216.34

  • gethostbynamel(): Lấy tất cả các địa chỉ IP liên quan đến một tên máy chủ.

$ips = gethostbynamel('www.example.com'); print_r($ips); // Array ( [0] => 93.184.216.34 )

  • dns_get_record(): Lấy bản ghi DNS của một tên máy chủ.

$records = dns_get_record('example.com'); print_r($records);

Hàm Socket

  • fsockopen(): Mở một kết nối mạng hoặc kết nối internet.

$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)"; } else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: www.example.com\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); }

  • socket_create(): Tạo một socket.

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()); }

  • socket_connect(): Kết nối socket tới một địa chỉ.

$result = socket_connect($socket, 'www.example.com', 80); if ($result === false) { echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)); }

  • socket_write(): Ghi dữ liệu vào socket.

$request = "GET / HTTP/1.1\r\n"; $request .= "Host: www.example.com\r\n"; $request .= "Connection: Close\r\n\r\n"; socket_write($socket, $request, strlen($request));

  • socket_read(): Đọc dữ liệu từ socket.

$response = socket_read($socket, 1024); echo $response;

  • Ví dụ hoàn chỉnh về Socket

` $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()); }

$result = socket_connect($socket, 'www.example.com', 80); if ($result === false) { echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)); }

$request = "GET / HTTP/1.1\r\n"; $request .= "Host: www.example.com\r\n"; $request .= "Connection: Close\r\n\r\n"; socket_write($socket, $request, strlen($request));

$response = ""; while ($out = socket_read($socket, 2048)) { $response .= $out; }

socket_close($socket); echo $response; `

Hàm Email

  • mail(): Gửi email.

` $to = 'recipient@example.com'; $subject = 'Subject'; $message = 'Hello, this is a test email.'; $headers = 'From: sender@example.com';

if (mail($to, $subject, $message, $headers)) { echo "Email sent successfully."; } else { echo "Email sending failed."; } `

Tóm tắt#

PHP cung cấp một loạt các hàm mạng để giúp bạn làm việc với kết nối mạng, từ việc gửi yêu cầu HTTP, làm việc với DNS, sử dụng socket, đến việc gửi email. Những hàm này rất hữu ích trong việc phát triển các ứng dụng web và dịch vụ mạng.

Bài liên quan trong #PHP

✓ Đã sao chép link