Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

PHP php://

Giới thiệu

Wrapper php:// cho phép truy cập các luồng I/O khác nhau: đầu vào chuẩn, đầu ra chuẩn, luồng lỗi. Luồng trong bộ nhớ, trên đĩa và lọc cũng truy cập bằng php://.

Luồng chuẩn

php://stdin, php://stdout, php://stderr cho phép truy cập trực tiếp thiết bị luồng đầu vào, luồng đầu ra, luồng lỗi của tiến trình PHP. Hằng số STDIN, STDOUT, STDERR đại diện cho các luồng này.

php://input

php://input cho phép đọc dữ liệu thô trong body yêu cầu HTTP. Dữ liệu này cũng có trong biến $HTTP_POST_RAW_DATA (đã lỗi thời). Tuy nhiên php://input không dùng được khi enctype là multipart/form-data.

php://output

Wrapper chỉ ghi, cho phép cơ chế bộ đệm, tương tự print và echo.

php://fd

File descriptor truy cập qua wrapper này. STDIN, STDOUT, STDERR có descriptor 0,1,2. Các luồng khác tăng dần. Do đó php://fd/3 trỏ đến descriptor 3.

php://memory

Luồng đọc/ghi lưu tạm dữ liệu trong bộ nhớ. php://temp tương tự nhưng lưu vào file tạm thay vì bộ nhớ.

php://filter

Wrapper cho phép áp dụng bộ lọc khi mở luồng. Bộ lọc hữu ích với readfile(), file_get_contents(), file().

Ví dụ

Đọc từ php://stdin, ghi ra php://stdout:

<?php $file = fopen("php://stdin", "r"); $x = fread($file, 10); echo $x; $out = fopen("php://stdout", "w"); fwrite($out, $x); fclose($file); ?>

php://input lấy dữ liệu HTTP thô. Ví dụ form HTML POST:

<html> <body> <form action="testscript.php" method="POST"> <input type="text" name="name"> <input type="text" name="age"> <input type="submit" value="submit"> </form> </body> </html>

Script PHP lấy dữ liệu:

<?php $json = file_get_contents("php://input"); $data = json_decode($json); print_r($json); ?>