Hàm pclose() trong PHP

24/11/2020 - lượt xem
Chia sẻ
 
Rate this post

Định nghĩa.

Hàm pclose() đóng một đường dẫn được mở bởi popen().

Cú pháp.

Cú pháp:

pclose ( resource $handle ) : int

Trong đó.

  • $handle Con trỏ tệp phải hợp lệ và phải được trả về bằng lệnh gọi thành công đến popen().

Giá trị trả về.

  • Trả về trạng thái kết thúc của quá trình đã được chạy. Trong trường hợp có lỗi thì -1 được trả về. Ghi chú: Nếu PHP đã được biên dịch với –enable-sigchild, thì giá trị trả về của hàm này là không xác định.

Ví dụ.

<?php
$handle = popen('/bin/ls', 'r');
pclose($handle);
?>

Ghi chú.

  • Lưu ý: Chỉ Unix: pclose () được triển khai nội bộ bằng lệnh gọi hệ thống waitpid (3). Để có được mã trạng thái thoát thực, nên sử dụng hàm pcntl_wexitstatus ().

Hàm liên quan.

  • popen() – Mở con trỏ tệp quy trình

Thông tin thêm.

  • Về giá trị trả lại: “Trả về trạng thái kết thúc của quá trình đã được chạy. Trong trường hợp có lỗi thì -1 được trả về.” và ghi chú về trạng thái thoát: “pclose () được triển khai nội bộ bằng lệnh gọi hệ thống waitpid (3). Để có được mã trạng thái thoát thực, nên sử dụng hàm pcntl_wexitstatus ().” Tài liệu về giá trị trả lại tốt nhất là gây hiểu lầm. Hàm trả về, cũng như proc_close (): * -1 do lỗi, * WEXITSTATUS (trạng thái) nếu WIFEXITED (trạng thái) là true, hoặc * trạng thái nếu WIFEXITED (trạng thái) là sai, trong đó status là tham số trạng thái của waitpid (). where status is the status parameter of waitpid(). Điều này làm cho không thể phân biệt giữa một lối ra tương đối bình thường hoặc một điểm kết thúc bằng tín hiệu và làm giảm giá trị của mã trả về proc_close thành một mã nhị phân (ok / cái gì đó bị hỏng). Điều này có thể được nhìn thấy trong proc_open_rsrc_dtor () trong ext / standard / proc_open.c (PHP 5.4.44, 5.6.12). Lưu ý về việc sử dụng pcntl_wexitstatus rõ ràng là sai. Người ta không thể sử dụng pcntl_wexitstatus vì nó đã được sử dụng.
  • Như tôi hiểu, pclose sẽ trả về 0 (trên mọi nền tảng) trong trường hợp popen không thể thực hiện lệnh được chỉ định. Vì popen chỉ trả về trạng thái ướt hơn nên nó có thể gửi lệnh và không ướt hơn nên nó đã được thực thi thành công. Chỉ giá trị trả về của pclose mới có thể được sử dụng để kiểm tra một lệnh có thể được thực thi.
  • Ở đâu đó giữa 4.1.1 và 4.2.3, giá trị trả về từ pclose đã thay đổi. Trạng thái thoát từng ở byte thứ hai, do đó trạng thái sẽ là (pclose ($ fp) / 256). Bây giờ nó ở byte bậc thấp, vì vậy trạng thái chỉ là pclose ($ fp). Hãy cẩn thận.

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 parse_ini_string() 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

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm