3 questions en vrac sur le PHP

Résolu
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
-
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008
-
Salut,

J'ai quelques questions d'ordre général en PHP.

<hr />
1. Y a-t-il un moyen de changer brutalement de page (comme si l'utilisateur changeait d'adresse dans le barre d'adresse de son navigateur) ?

<hr />
2. Peut-on modifier le chemin que le navigateur utilise pour localiser les ressources d'une page ?
Ex: http://site _quelconque.net/Répertoire/index.html

Si on a src="images/pic001.jpg" dans le fichier index, le navigateur va chercher le fichier dans le chemin absolu de index.html + le chemin relatif vers l'image, soit http://site _quelconque.net/Répertoire/images/pic001.jpg

Comment changer le chemin absolu de index.html aux yeux du navigateur ?

<hr />
3. Quel est le nom de la fonction qui permet de récupérer le résultat de l'exécution d'une page php (sans envoi au client) dans une chaine ?
Je saurais en faire une avec ob_start et companie mais moins on en fait, mieux on se porte.

Merci

7 réponses

Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Cela s'appelle de l'url rewriting (le problème c'est que ce module n'est pas integré sur les serveurs IIS)
Vas sur http://www.asp-php.net/tutorial/asp-php/url_rewriting.php tu trouveras ton bonheur ^^

For every choice, a consequence (Fable)
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
26
hello,

1 - header ();
2 - voir les htaccess à priori
3 - $sHtml = ob_get_content ();
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
1
Merci beaucoup pour les mots clefs !
Le serveur ne tourne pas sur Apache mais IIS.

Si je tape dans la barre d'adresse: http://www.lesite.com/repertoire/fichier.ext.
Puis-je configurer le serveur de facon a ce qu'il redirige automatiquement vers une unique page (disons http://www.lesite.com/index.php) avec la suite du chemin dans une variable php ?

Pour l'instant je fais tout avec:
index.php?url=le_chemin/le_fichier.extension
Ca fonctionne parfaitement mais ce n'est pas tres prestige.

Sinon pour l'histoire du ob_get_contents(), ca a l'air de récupérer ce qu'on écrit explicitement avec echo ou print uniquement, mais comment récupérer le résultat d'un script php ?

ob_start();
include("fichier.php");
$str = ob_get_contents();
ob_end_clean(); ?

mais tout ca c'est dans un fichier a part.
De quelle facon appeler ce fichier, depuis ou, avec quels headers ?
Peut-on tout faire dans la ram du serveur.

Excuse-moi, je débarque en PHP.

Merci
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Salut,
<hr />
-> Si tu ne veux pas que la page s'affiche il faut utiliser "ob_clean()" à la place de "ob_end_clean()". Cela donnera donc "
<?php
ob_start();
include('fichier.php');
$str = ob_get_contents();
ob_end_clean();
?>
"
<hr />
-> Pour les headers si tu fais : "
<?php
echo 'test';
header('Location: tapage.php');
?>
" Cela n'affichera pas "test"
<hr />
Et je connais pas les serveur IIS (enfin juste de nom) mais si tu peux personnaliser tes erreurs 404, il y a un script qui pourrait faire l'affaire sur ce site

For every choice, a consequence (Fable)
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
1
Merci pour les précisions sur le header ;).

En ce qui concerne les erreurs 404, si j'appelle une page existante, il n'y aura pas d'erreurs.
Par exemple, http://www.lesite.com/repertoire/fichier.htm affichera la page car le serveur enverra automatiquement les données au client et les navigateur fera naturellement son travail.

Ce que je veux c'est rediriger tous les appels au site vers une meme et unique page web et récupere le chemin vers la page demandée. Est-ce possible ?

Utopiquement:
http://www.lesite.com/repertoire/fichier.htm
lance
http://www.lesite.com/index.php
en envoyant repertoire/fichier.htmdans une variable de la session courante.

Encore merci
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
1
Merci, je ne connaissais pas cette technique.
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Si tu as d'autres problèmes, n'hésites pas

For every choice, a consequence (Fable)