Domanda

Ho inciampato su le seguenti particolarità:

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

non riesco a leggere un file, ma appena posso rimuovere i tag php file, diventa leggibile e il mio script stampe di file non vuoto di contenuto della pagina.Inoltre, file.php non è mai eseguito, quindi mi chiedo perché questo è il problema.

Credo che, in qualche modo, Apache o PHP non permette di leggere i file contenenti i tag php PHP come solo testo.

Come posso abilitare per la mia particolare file (naturalmente facendo a livello globale sarebbe non protetta)?

Con PHP 5.2.x e Apache 2.0

È stato utile?

Soluzione

Ho capito.Io sto usando Google chrome per eseguire il debug della pagina, e mi sono accorto che quando la visualizzazione della sorgente, Chrome nasconde tag PHP per qualche motivo.Ho eseguito lo stesso test su Firefox, e la visualizzazione della sorgente dimostrato che tutto era a posto.

Ecco i dettagli dei test:

Codice:

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

File da leggere (test.php):

testing <?php testing2 ?> testing3

Il Rendering (sia su Chrome e firefox):

testing  testing3

Visualizza sorgente (con firefox):

testing <?php testing2 ?> testing3

Visualizza sorgente (usando Chrome - fonte di un mio errore):

testing  testing3

Altri suggerimenti

Sei sicuro di essere interpretazione dell'output correttamente?Se si stampa il contenuto del file direttamente alla tua pagina di uscita, un browser non visualizza il testo all'interno delle parentesi angolari perchè pensa che si tratta di un tag.Servire il tuo contenuto text/plain, o utilizzare il browser "visualizza sorgente" di comando per assicurarsi che si sta guardando a ciò che è veramente lì, e non solo ciò che il browser scelto di visualizzare.

Hmm file_get_contents() sta lavorando per me.È questione solo per fopen?

Edit:il tipo di errore che si ottiene esattamente?

Wadih M.risolto il problema.Tag PHP nasconde tutto il tag racchiusi in php di uscita della sorgente nel browser, ma per vedere il Sorgente della mostra.Grazie!

Sto usando htmlspecialchars($line);

Ha risolto il problema.

rinominare il file leggere ottenere i vostri dati li cambio rerename il file :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top