[PHP] Ouvrir un fichier .php en PHP

Tot -  
 Scriptiz -
Bonjour,
je suis en train de faire un éditeur de texte en AJAX, et j'ai un petit problème concernant l'ouverture de fichier .php (pour les .txt ça marche très bien). En effet les "<?" ne sont pas affichés...
J'ai deux fichiers (j'ai réduit le code au minimum pour tester), ajax.php:
<?

if ("openfile" == "openfile") {
	if (!($filename = "files/test.php")) {
		echo "Nom de fichier invalide.";
		exit;
	}
	if (!$fp = fopen($filename,"rb")) {
		echo "Ouverture du fichier impssible.";
		exit;
	}
	else {
		// On affiche le fichier ligne par ligne
		while(!feof($fp)) {
			echo fgets($fp,4096) . "<br/>";
		}

	fclose($fp); // On ferme le fichier
	}
}

?>


et test.php:
<?
$string = "Hello World !";
echo $string;
?>


Or, quand je lance ajax.php j'obtient:
$string = "Hello World !";
echo $string;
?>


Savez vous comment dois-je régler ce problème ?
Merci d'avance :p.

6 réponses

Tot
 
Les lignes 3 et 4 du fichier ajax.php peuvent paraître débiles:
if ("openfile" == "openfile") {
	if (!($filename = "files/test.php")) {

... mais c'est que j'ai voulu garder la structure du code finale:
if ("openfile" == $_POST['action']) {
	if (!($filename = $_POST['filename'])) {

... quand je l'ai réduit pour le tester. :)
0
Ohm-WorK Messages postés 1468 Statut Contributeur 420
 
Salut

C'est normal que php ne t'affiche pas les "<?" et "?>" : ce sont pour lui des balises :)

Tchussss
0
Tot
 
Il m'affiche pour tant bien le "?>", mais pas le "<?" ...
Comment afficher correctement un .php ?
0
zefoots Messages postés 146 Statut Membre 62
 
J'ai testé ton fichier ajax.php.

En fait, après exécution, le <? est là mais tu ne le vois pas. Cependant il est bien présent dans le source de la page.

Dans Internet Explorer, après avoir exécuté ton fichier ajax.php, clique sur le menu 'Affichage' puis 'Source'.

Tu verras que le <? apparaît bien.

D'après moi, Internet Explorer ne sait pas comment interpréter cette 1ère ligne car elle commence par le caractère '<' qui signifie que c'est le début d'une balise html. Mais <? n'est pas une balise html valide.

Il fait donc n'importe quoi à l'affichage ...

Remarque : j'ai aussi testé sous Firefox 2 et il se comporte de la même manière qu'IE
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tot
 
Ah ouais, tu as effectivement raison ! Pour que ça marche il suffit donc d'afficher les données dans un textarea par exemple, qui n'essaye pas d'interpreter les balises.
Mon problème est donc reglé. :)
0
Scriptiz
 
Ou alors tu convertit les symbole '<' et '>' par < et > à la sortie du serveur pour le code client.
0