Pages amicales de PHP de Search Engine

Technologies de Zend - codez le projecteur de galerie - pages amicales de PHP de Search Engine
Maintenant que vous avez un meilleur arrangement du problème, regardons la solution. Afin d'une araignée pour traverser (et par conséquent de l'index) une page donnée, l'URL doit être exempt de n'importe quel aspect des paramètres. Mais si une page donnée exige des paramètres de fonctionner correctement, que peut être fait ? La réponse se situe dans l'utilisation de la variable d'environnement de $PATH_INFO, de la laquelle vous pouvez convertir un URL
http://www.zend.com/myscript.php?myvalue=Hello

à un format araignée-amical :
http://www.zend.com/myscript.php/myvalue/Hello

Notez que le format araignée-amical ne contient aucune indication qu'il y a tous les paramètres étant passés du tout. En revanche, il regarde simplement comme nous essayons d'accéder à l'annuaire sur l'emplacement /myscript.php/myvalue/Hello de zend.com, et aucune araignée de Search Engine qui accède à la page n'aura aucun ennui suivre l'URL. Pourtant en réalité nous exécutons le manuscrit myscript.php.

Mais qu'est arrivé à vos paramètres ?
Comment OBTENIR vos données cachées

Maintenant que vous avez avec succès caché vos paramètres dans ce qui semble être une structure d'annuaire, comment les obtenez-vous dehors ? Toutes les fois qu'un manuscrit de PHP est exécuté avec des données supplémentaires de chemin apposées à la fin du nom de fichier (comme nous avons fait dans l'exemple araignée-amical ci-dessus), le web server crée une variable d'environnement $PATH_INFO contenant cette information. Vous pouvez alors accéder à cette variable d'environnement par le PHP automatiquement, et l'analysez pour rechercher nos données. Ainsi notre URL plus tôt

http://www.zend.com/myscript.php/myvalue/Hello

peuplerait la variable de $PATH_INFO avec :

/myvalue/Hello

de ce que vous pouvez alors analyser et recherchez l'information passée.
Déchiffrement de vos données

Maintenant que vous savez où vos paramètres sont, la prochaine étape est de les déchiffrer dans un format que le PHP peut employer. Bien qu'il n'y ait aucune méthode exigée pour faire ceci, je supposerai que vous avez composé vos données de la façon suivante :

/var_name/var_data/var2_name/var2_data/

Suivre cette méthode, tout ce qui est laissé est :

* cassez la corde fournie chaque fois que nous rencontrons une barre oblique ("/")
* créez les variables pour associer les noms donnés (var_name, var2_name, etc.) à leurs valeurs respectives (var_data, var2_data, etc.)

Avec toute la ceci à l'esprit, regardons un certain vrai code.
Le manuscrit

Comme avec beaucoup de techniques puissantes, il n'est pas difficile se développer le code exigé pour créer cette capacité en vos manuscrits. Le processus se compose traverser une rangée basée sur le $PATH_INFO, et créer des variables basées sur celle des données. En fin de compte, l'objet est de prendre l'URL

http://www.zend.com/myscript.php/myvalue/Hello

employez alors les données fournies dans la variable de $PATH_INFO pour construire des variables correspondantes :

$myvalue = « bonjour »
Codez l'écoulement

* Vérifiez l'existence de $PATH_INFO
* Coupez $PATH_INFO en rangée
* Si tout le nombre de paramètres est égal, ajoutez un élément vide supplémentaire à l'extrémité pour simplifier le traversal dans la prochaine étape
* Traversez la rangée et créez les variables basées sur les données de $PATH_INFO

<>

si (isset ($PATH_INFO)) {

$vardata = éclatent (« / », $PATH_INFO) ;

$num_param = compte ($vardata) ;

si (% de == 0 de $num_param 2) {

$vardata [] = '' ;
$num_param ;
}

pour (variété $i = 1 ; $i <>

$$vardata [$i] = $vardata [$i 1] ;
}
}

? >

Classé sous Uncategorized |

Laissez une réponse



Veuillez écrire le code montré ci-dessous (pour vérifier que vous êtes humain) avant que vous clic soumettiez le commentaire.


Protégé par la garde de commentaire pro