Ajax est devenu une technique de codage de JavaScript populaire pour la conception d'applications Web qui se comportent plus comme des applications de bureau en envoyant et recevant des données sans une pleine page de rafraîchissement. Malheureusement , les paramètres de sécurité de votre navigateur empêchent vos scripts à partir de la lecture des pages sur un serveur externe. Heureusement , PHP permet à une page sur votre propre serveur pour récupérer les données externes et de le rendre disponible sur votre JavaScript. En utilisant JavaScript Object Notation ( JSON ), vous pouvez aussi faire un script PHP qui rend les données externes disponibles pour activer JavaScript sur n'importe quel serveur. Instructions
Extraction de données avec cURL
1
Créer une fonction en PHP qui reçoit une URL externe comme seul paramètre .
Fonction fetch_url
( $ url ) {
< p> }
2
Créer une nouvelle connexion cURL dans la fonction
$ ch = curl_init (); .
3
Définir les options pour la connexion cURL . Les options importantes sont l'URL à récupérer , le retour de transfert ( qui doit être réglé sur "1" afin de lire la réponse du serveur externe ) et un délai d'attente de connexion.
Curl_setopt ( $ ch, CURLOPT_URL , $ url ) ;
curl_setopt ( $ ch, CURLOPT_RETURNTRANSFER , 1);
curl_setopt ( $ ch, CURLOPT_CONNECTTIMEOUT , 15) ;
4
Exécuter la connexion cURL , puis enregistrez la réponse du serveur externe dans une variable
$ data = curl_exec ( $ ch); .
5
fermer la connexion cURL pour libérer des ressources du serveur
< . p> curl_close ( $ ch);
6
Fin de la fonction en renvoyant le contenu de la variable " $ data " . Le code complet de la fonction est :
fonction fetch_url
( $ url ) {
$ ch = curl_init ();
curl_setopt ( $ ch, CURLOPT_URL , $ url ) ;
curl_setopt ( $ ch, CURLOPT_RETURNTRANSFER , 1);
curl_setopt ( $ ch, CURLOPT_CONNECTTIMEOUT , 15) ;
$ data = curl_exec ( $ ch); < br >
curl_close ( $ ch);
retour $ data ; }
Obtention de données avec Fopen
7
créer une fonction en PHP qui reçoit une URL externe comme seul paramètre . Cette fonction permet de récupérer des données externes à l'aide " fopen ", car certains serveurs ne supportent pas cURL .
Fonction fetch_url
( $ url ) { }
8
Créer un flux de fichier dans la fonction qui est réglé en mode lecture
$ fs = fopen ( $ url , "r" ) ; .
9
lire le contenu de l'URL en utilisant " stream_get_contents », et de les stocker dans une variable
$ data = stream_get_contents ($ fs) ; . .
10
fermer le flux de fichiers pour libérer des ressources du serveur
< p > fclose ( $ fs ) ;
11
retourner le contenu du " $ data " variable et mettre fin à la fonction . Le code complet de fetch_url () est :
fonction
fetch_url ( $ url ) {
$ fs = fopen ( $ url , "r" ) ;
$ data = stream_get_contents ($ fs) ;
fclose ( $ fs ) ;
retour $ data ; }
délivrer les données
12
Définir l'URL que vous voulez que votre script PHP pour récupérer. Cela peut être passé au script comme un paramètre ou ensemble dans le script
$ url = " http://www.example.com " ; .
13
Utilisez le fetch_url . fonction pour récupérer le contenu de l' URL et les enregistrer dans une variable
$ fetch_data = fetch_url ( $ url ) ;
14
Echo le contenu de la variable si vous ne souhaitez . JavaScript locale pour être capable de l'utiliser
echo $ fetch_data ;
15
coder les données avec JSON avant écho si vous voulez JavaScripts externes pour pouvoir utiliser votre script PHP. JSON a également d'autres avantages, comme vous permettant de passer plusieurs variables à la JavaScript. L'exemple ci-dessous passe la fois le contenu de l'URL ainsi que l'URL elle-même
$ output [ 'url' ] = $ url ; .
$ Output [' contenu '] = $ fetch_data ;
$ output = json_encode ( $ output ) ;
echo $ output ;
16
point d' appels AJAX dans votre JavaScript à l'URL du script PHP . Votre JavaScript peut maintenant récupérer des données à partir de pratiquement n'importe où sur le Web.