3 questions en vrac sur le PHP

Résolu
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 - 10 août 2006 à 14:26
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008 - 16 août 2006 à 18:21
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

audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
15 août 2006 à 14:21
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)
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 août 2006 à 15:12
hello,

1 - header ();
2 - voir les htaccess à priori
3 - $sHtml = ob_get_content ();
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
10 août 2006 à 18:14
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
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
12 août 2006 à 22:45
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)
0

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

Posez votre question
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
14 août 2006 à 18:58
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
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
16 août 2006 à 09:07
Merci, je ne connaissais pas cette technique.
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
16 août 2006 à 18:21
Si tu as d'autres problèmes, n'hésites pas

For every choice, a consequence (Fable)
0
Rejoignez-nous