Câu trả lời:
Tôi cho rằng bạn muốn lấy nội dung do PHP tạo ra , nếu vậy hãy sử dụng:
$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');
Ngược lại, nếu bạn muốn lấy mã nguồn của tệp PHP , thì nó giống với tệp .txt:
$Vdata = file_get_contents('path/to/YOUR/FILE.php');
eval()
hoặc nếu bạn đang xử lý mã phức tạp hơn: github.com/nikic/PHP-Parser .
$Vdata = file_get_contents(get_template_directory_uri() . '/path/to/file/in/theme.text');
ob_start();
include "yourfile.php";
$myvar = ob_get_clean();
$myvar = ob_get_clean();
(xem tài liệu ob_get_clean )
Nếu bạn đang sử dụng http: // , như eyze đề xuất, bạn sẽ chỉ có thể đọc phần bổ sung của tập lệnh PHP. Bạn chỉ có thể đọc chính tập lệnh PHP nếu nó nằm trên cùng một máy chủ với tập lệnh đang chạy của bạn. Sau đó, bạn có thể sử dụng một cái gì đó như
$Vdata = file_get_contents('/path/to/your/file.php");
Nếu bạn muốn tải tệp mà không cần chạy tệp qua máy chủ web, thì cách sau sẽ hoạt động.
$string = eval(file_get_contents("file.php"));
Thao tác này sẽ tải sau đó đánh giá nội dung tệp. Tệp PHP sẽ cần phải được định dạng đầy đủ với các thẻ <?php
và để đánh giá nó.?>
eval
Về mặt lý thuyết, bạn chỉ có thể sử dụng fopen, sau đó sử dụng stream_get_contents.
$stream = fopen("file.php","r");
$string = stream_get_contents($stream);
fclose($stream);
Điều đó sẽ đọc toàn bộ tệp thành $ string cho bạn và không nên đánh giá nó. Mặc dù tôi rất ngạc nhiên rằng file_get_contents không hoạt động khi bạn chỉ định đường dẫn cục bộ ....
Ngoài ra, bạn có thể bắt đầu lưu vào bộ đệm đầu ra, thực hiện bao gồm / yêu cầu và sau đó dừng bộ đệm. Với ob_get_contents (), bạn chỉ có thể lấy nội dung được xuất bởi tệp PHP khác đó thành một biến.
Nếu tệp của bạn có câu lệnh trả về như sau:
<?php return array(
'AF' => 'Afeganistão',
'ZA' => 'África do Sul',
...
'ZW' => 'Zimbabué'
);
Bạn có thể đưa nó vào một biến như thế này:
$data = include $filePath;
file_get_contents () sẽ không hoạt động nếu máy chủ của bạn đã tắt allow_url_fopen . Hầu hết các máy chủ web chia sẻ đều bị tắt tính năng này theo mặc định do rủi ro bảo mật. Ngoài ra, trong PHP6 , tùy chọn allow_url_fopen sẽ không còn tồn tại và tất cả các chức năng sẽ hoạt động như thể nó được đặt thành tắt. Vì vậy, đây là một phương pháp rất tệ để sử dụng.
Tùy chọn tốt nhất của bạn để sử dụng nếu bạn đang truy cập tệp qua http là cURL