2009-03-10 28 views
14

Tôi muốn 1 tệp PHP để "chạy" (bao gồm?) Tệp PHP khác trên cùng một máy chủ và truy cập đầu ra được tạo âm vang của nó dưới dạng chuỗi.Đọc đầu ra echo'ed từ một tệp PHP khác

Làm cách nào để thực hiện điều này trong PHP? Bất kỳ chức năng sẵn có nào để làm điều này?

Hoặc bất kỳ cách nào tốt hơn để thực thi một tệp PHP khác và nhận được kết quả đầu ra của nó?

Trả lời

31

Bạn có thể sử dụng PHP output buffering để thực hiện điều này:

ob_start(); // begin collecting output 

include 'myfile.php'; 

$result = ob_get_clean(); // retrieve output from myfile.php, stop buffering 

$result sau đó sẽ chứa văn bản.

+0

tôi cũng trả lời với 'ob_start()', bạn không – Wieczo

2

Bạn không thể bao gồm một kịch bản PHP đó là trên một trang web bên ngoài/máy chủ vào kịch bản địa phương của bạn - trừ khi bạn kích hoạt allow_url_include trên php.ini của bạn (nếu bạn có quyền truy cập vào nó)

Thay vào đó, bạn có thể để điều đó website/server hiển thị trang và có được kết quả đầu ra HTML trên kịch bản địa phương của bạn bằng cách làm này:

$result = file_get_contents('http://127.0.0.1/myfile.php'); 
+1

nó có thể là một tốt trả lời khi chúng ta có hai môi trường và trong một số cách chúng ta cần một trong số chúng cung cấp thông tin/dịch vụ cho người khác. url có thể được cấu hình tốt hơn :) Cảm ơn Typewar – Sep

Các vấn đề liên quan