[PHP] Ouvrir un fichier .php en PHP

Fermé
Tot - 16 juin 2007 à 13:48
 Scriptiz - 17 juin 2007 à 14:21
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.
A voir également:

6 réponses

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 1464 Date d'inscription mardi 25 octobre 2005 Statut Contributeur Dernière intervention 29 octobre 2019 420
16 juin 2007 à 16:10
Salut

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

Tchussss
0
Il m'affiche pour tant bien le "?>", mais pas le "<?" ...
Comment afficher correctement un .php ?
0
zefoots Messages postés 146 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 11 septembre 2007 62
16 juin 2007 à 21:51
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
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
Ou alors tu convertit les symbole '<' et '>' par < et > à la sortie du serveur pour le code client.
0