Muszę załadować plik PHP do zmiennej. Lubićinclude();
Załadowałem prosty plik HTML, taki jak ten:
$Vdata = file_get_contents("textfile.txt");
Ale teraz muszę załadować plik PHP.
Przypuszczam, że chcesz uzyskać zawartość wygenerowaną przez PHP , jeśli tak, użyj:
$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');
W przeciwnym razie, jeśli chcesz pobrać kod źródłowy pliku PHP , jest to to samo, co plik .txt:
$Vdata = file_get_contents('path/to/YOUR/FILE.php');
eval()
lub jeśli masz do czynienia z bardziej skomplikowanym kodem: github.com/nikic/PHP-Parser .$Vdata = file_get_contents(get_template_directory_uri() . '/path/to/file/in/theme.text');
ob_get_clean ()
źródło
$myvar = ob_get_clean();
(patrz dokumentacja ob_get_clean )Jeśli używasz http: // , jak sugerował eyze, będziesz mógł odczytać tylko wyjście skryptu PHP. Możesz odczytać sam skrypt PHP tylko wtedy, gdy znajduje się on na tym samym serwerze, co uruchomiony skrypt. Możesz wtedy użyć czegoś takiego
źródło
Jeśli chcesz załadować plik bez uruchamiania go przez serwer WWW, następujące czynności powinny działać.
Spowoduje to załadowanie, a następnie ocenę zawartości pliku. Plik PHP będzie musiał być w pełni sformatowany z rozszerzeniem
<?php
?>
tagami i ,eval
aby go ocenić.źródło
Teoretycznie możesz po prostu użyć fopen, a następnie użyć stream_get_contents.
To powinno wczytać cały plik do ciągu $ string i nie powinno go oceniać. Chociaż jestem zaskoczony, że file_get_contents nie działało, gdy określono ścieżkę lokalną ....
źródło
Alternatywnie możesz rozpocząć buforowanie danych wyjściowych, wykonać dołączanie / wymaganie, a następnie zatrzymać buforowanie. Za pomocą ob_get_contents () możesz po prostu przenieść zawartość tego innego pliku PHP do zmiennej.
źródło
Jeśli twój plik zawiera instrukcję zwrotu, taką jak ta:
Możesz to dostać do zmiennej takiej jak ta:
źródło
file_get_contents () nie będzie działać, jeśli twój serwer ma wyłączone allow_url_fopen . Większość współdzielonych hostów internetowych ma to domyślnie wyłączone ze względu na zagrożenia bezpieczeństwa. Również w PHP6 The allow_url_fopen opcja nie będzie już istnieć, a wszystkie funkcje będą działać tak, jakby ona trwale wyłączona. Jest to więc bardzo zła metoda w użyciu.
Najlepszą opcją do użycia, jeśli uzyskujesz dostęp do pliku przez http, jest cURL
źródło