Preciso carregar um arquivo PHP em uma variável. Gostarinclude();
Carreguei um arquivo HTML simples como este:
$Vdata = file_get_contents("textfile.txt");
Mas agora preciso carregar um arquivo PHP.
Suponho que você deseja obter o conteúdo gerado pelo PHP , se assim for, use:
$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');
Caso contrário, se você deseja obter o código-fonte do arquivo PHP , é o mesmo que um arquivo .txt:
$Vdata = file_get_contents('path/to/YOUR/FILE.php');
eval()
ou se estiver lidando com um código mais complicado: github.com/nikic/PHP-Parser .$Vdata = file_get_contents(get_template_directory_uri() . '/path/to/file/in/theme.text');
ob_get_clean ()
fonte
$myvar = ob_get_clean();
(veja a documentação ob_get_clean )Se estiver usando http: // , como sugerido por eyze, você só conseguirá ler a saída do script PHP. Você só pode ler o próprio script PHP se estiver no mesmo servidor que o script em execução. Você poderia então usar algo como
fonte
Se você deseja carregar o arquivo sem executá-lo através do servidor web, o seguinte deve funcionar.
Isso irá carregar e avaliar o conteúdo do arquivo. O arquivo PHP precisará ser totalmente formado com as tags
<?php
e?>
paraeval
avaliá-lo.fonte
Teoricamente, você poderia apenas usar fopen e, em seguida, usar stream_get_contents.
Isso deve ler todo o arquivo em $ string para você, e não deve avaliá-lo. Embora esteja surpreso que file_get_contents não funcionou quando você especificou o caminho local ....
fonte
Alternativamente, você pode iniciar o buffer de saída, fazer um include / require e então parar o buffer. Com ob_get_contents (), você pode apenas obter o que foi gerado por aquele outro arquivo PHP em uma variável.
fonte
Se o seu arquivo tiver uma declaração de retorno como esta:
Você pode transformar isso em uma variável como esta:
fonte
file_get_contents () não funcionará se seu servidor tiver allow_url_fopen desligado. A maioria dos hosts da Web compartilhados o desativam por padrão devido a riscos de segurança. Além disso, no PHP6 , a opção allow_url_fopen não existirá mais e todas as funções agirão como se estivessem permanentemente desligadas. Portanto, este é um método muito ruim de se usar.
Se você estiver acessando o arquivo por meio de http, sua melhor opção é cURL
fonte