Pergunta

Eu tropecei no seguinte peculiaridade:

$ handle = fopen (realpath ( "../ pasta / files.php"), "r");

não pode ler um arquivo, mas assim que eu remover tags PHP do arquivo, torna-se legível e meus scripts imprime o conteúdo do arquivo não vazio na página. Além disso, file.php é nunca executado, então eu me pergunto por que é o problema.

Eu acho que de alguma forma Apache ou PHP não deixar arquivos lidos contendo tags PHP PHP como texto apenas.

Como posso habilitá-lo para o meu arquivo particular (Claro fazê-lo globalmente seria inseguro)?

Usando 5.2.x PHP e Apache 2.0

Foi útil?

Solução

eu entendi. Eu estava usando o Google Chrome para depurar a página, e eu percebi que ao visualizar a fonte, o Chrome esconde tags PHP, por algum motivo. Corri o mesmo teste no Firefox, e ver a fonte provou que tudo estava bem.

Aqui estão os detalhes do teste:

Código:

$fh = fopen("test.php","r");
while ($line = fgets($fh)){
echo $line;
}

arquivo para ser lido (test.php):

testing <?php testing2 ?> testing3

Rendering (em ambos Chrome e Firefox):

testing  testing3

Ver código (usando o Firefox):

testing <?php testing2 ?> testing3

Ver código-fonte (usando Chrome - fonte de meu erro):

testing  testing3

Outras dicas

Você tem certeza de que você está interpretando a saída corretamente? Se você imprimir o conteúdo do arquivo diretamente para a sua saída da página, o navegador não irá exibir o texto dentro colchetes porque ele acha que é uma tag. Servir o seu conteúdo como text/plain, ou usar o comando "view source" do seu navegador para certificar-se de que você está olhando para o que está realmente lá, e não apenas o que o navegador escolheu para mostrar.

Hmm file_get_contents () está trabalhando para mim. É emitir apenas para fopen?

Edit: o erro que você obtenha exatamente

?

Wadih M. resolveu o problema. PHP etiquetas esconde toda a saída da fonte de php fechado-tag no navegador, mas mostra Ver obtê-los. Obrigado!

Eu estou usando htmlspecialchars($line);

Ele resolveu o problema.

renomeie o arquivo Leia-o obter os seus dados mude-os rerename seu arquivo:)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top