Định nghĩa.
Hàm popen() mở một đường ống dẫn đến chương trình được chỉ định command parameter.
Cú pháp.
Cú pháp:
popen ( string $command
, string $mode
) : resource
Trong đó.
- $command Lệnh.
- $mode Chế độ.
Giá trị trả về.
- Trả về một con trỏ tệp giống hệt với con trỏ được trả về bởi fopen (), ngoại trừ việc nó là một hướng (chỉ có thể được sử dụng để đọc hoặc ghi) và phải được đóng bằng pclose(). Con trỏ này có thể được sử dụng với fgets (), fgetss () và fwrite (). Khi chế độ là ‘r’, con trỏ tệp được trả về bằng STDOUT của lệnh, khi chế độ là ‘w’, con trỏ tệp trả về bằng STDIN của lệnh.
- Nếu xảy ra lỗi, trả về FALSE.
ghi chú.
- Ghi chú: Nếu bạn đang tìm kiếm hỗ trợ hai chiều (hai chiều), hãy sử dụng proc_open ().
- Lưu ý: Khi safe mode được bật, bạn chỉ có thể thực thi các tệp trong safe_mode_exec_dir. Vì lý do thực tế, hiện tại không được phép có .. các thành phần trong đường dẫn đến tệp thực thi.
- Cảnh báo Với chế độ an toàn được bật, chuỗi lệnh được thoát bằng Escapepeshellcmd (). Như vậy, echo y | echo x trở thành echo y \ | tiếng vang x.
Ví dụ.
Ví dụ # 1.
code.
<?php
$handle = popen("/bin/ls", "r");
?>
- Nếu không tìm thấy lệnh được thực thi, thì một tài nguyên hợp lệ sẽ được trả về. Điều này có vẻ kỳ quặc, nhưng có lý; nó cho phép bạn truy cập bất kỳ thông báo lỗi nào do shell trả về:
Ví dụ # 2.
<?php
error_reporting(E_ALL);
/* Add redirection so we can get stderr. */
$handle = popen('/path/to/executable 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
?>
Hàm liên quan.
- pclose() – Đóng con trỏ tệp quy trình
- fopen() – Mở tệp hoặc URL
- proc_open() – Thực thi một lệnh và mở con trỏ tệp cho đầu vào / đầu ra
Thông tin thêm.
Các bạn có thể xem chi tiết hơn trên php.net.
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm popen() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé. Cảm ơn các bạn đã ghé thăm codetutam.com
Bình luận: