Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> PHP /MySQL Προγραμματισμός

Πώς να δημιουργήσετε ένα Host PHP Proxy για την JavaScript

Ajax έχει γίνει μια δημοφιλής τεχνική κωδικοποίησης Javascript για σχεδιασμό εφαρμογών Web που συμπεριφέρονται περισσότερο σαν desktop εφαρμογές από την αποστολή και λήψη δεδομένων χωρίς ανανέωση πλήρη σελίδα. Δυστυχώς , οι ρυθμίσεις ασφαλείας του browser σας εμποδίζει τα σενάρια από την ανάγνωση των σελίδων σε έναν εξωτερικό διακομιστή . Ευτυχώς , η PHP επιτρέπει μια σελίδα στο δικό σας server για να φέρω εξωτερικά δεδομένα και να είναι στη διάθεση των JavaScript σας . Με τη χρήση JavaScript Object Notation ( JSON ) , μπορείτε επίσης να φτιάξετε ένα PHP script που κάνει εξωτερικά δεδομένα στη διάθεσή JavaScript σε οποιονδήποτε διακομιστή . Οδηγίες
Ανάκτηση δεδομένων με cURL
Η 1

Δημιουργήστε μια λειτουργία σε PHP που δέχεται μια εξωτερική διεύθυνση URL ως μόνη παράμετρος της .

Fetch_url λειτουργία ( $ url ) {
<. p> } 2

Δημιουργία νέας σύνδεσης cURL στη λειτουργία

$ ch = curl_init ( ) ?
εικόνων 3

Ορισμός επιλογών για την cURL σύνδεση . Οι σημαντικές επιλογές είναι η διεύθυνση URL που πρέπει να ανακτηθεί , επιστρέφουν μεταφοράς ( η οποία πρέπει να τεθεί σε " 1 " για να διαβάσετε την απάντησή του εξωτερικού διακομιστή ) και ένα χρονικό όριο σύνδεσης .

Curl_setopt ( $ ch , CURLOPT_URL , $ url ) ?

curl_setopt ( $ ch , CURLOPT_RETURNTRANSFER , 1 ) ?

curl_setopt ( $ ch , CURLOPT_CONNECTTIMEOUT , ​​15 ) ?
Η

4 Εκτελέστε τη σύνδεση cURL , και στη συνέχεια να αποθηκεύσετε απάντηση του εξωτερικού διακομιστή σε μια μεταβλητή

$ data = curl_exec ( $ ch ) ? .
5

Κλείστε το cURL σύνδεση για να ελευθερώσετε πόρους του διακομιστή
<. p> curl_close ( $ ch ) ?
Η

6 Ολοκληρώστε τη λειτουργία με την επιστροφή των περιεχομένων του "$ δεδομένων " μεταβλητή . Ο πλήρης κώδικας της συνάρτησης είναι :

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 ) ?

curl_close ( $ ch ) ?

επιστροφή $ δεδομένα ?

}
εικόνων Ανάκτηση δεδομένων με fopen
Η 7

Δημιουργήστε μια λειτουργία σε PHP που δέχεται μια εξωτερική διεύθυνση URL ως μόνη παράμετρος της . Αυτή η λειτουργία θα φέρω εξωτερικών δεδομένων με τη χρήση " fopen , " δεδομένου ότι ορισμένοι διακομιστές δεν υποστηρίζουν cURL .

Fetch_url λειτουργία ( $ url ) { }


8

Δημιουργία ένα ρεύμα αρχείο στη λειτουργία που έχει οριστεί να διαβάσετε λειτουργία

$ fs = fopen ( $ url , "r ")? .
Η 9

Διαβάστε το περιεχόμενο της διεύθυνσης URL που χρησιμοποιεί " stream_get_contents , " και να τα αποθηκεύσετε σε μια μεταβλητή

$ data = stream_get_contents ( $ fs ) ? .

10

Κλείστε το ρεύμα αρχείο για να ελευθερώσετε πόρους του διακομιστή

Αδυναμία εγγραφής αρχείου ( fs $ ) ?

11

Επιστρέψτε τα περιεχόμενα του "$ δεδομένων " μεταβλητή και τον τερματισμό της λειτουργίας . Η πλήρης κωδικός του fetch_url ( ) είναι :

fetch_url λειτουργία ( $ url ) {

$ fs = fopen ( $ url , " r" ) ?

$ Data = stream_get_contents ( fs $ ) ?

Αδυναμία εγγραφής αρχείου ( fs $ ) ?

επιστροφή $ δεδομένα ?

}
εικόνων εξάγοντας τα
δεδομένων Τετάρτη 12

Ορίστε τη διεύθυνση URL που θέλετε PHP script σας για να φέρω . Αυτό μπορεί να περάσει στο σενάριο ως παράμετρο ή εντάσσονται στο σενάριο

$ url = " http://www.example.com " ? .

13

Χρησιμοποιήστε το fetch_url λειτουργία για να ανακτήσετε τα περιεχόμενα του URL και να τα αποθηκεύσετε σε μια μεταβλητή

$ fetch_data = fetch_url ( $ url) ? .
Η 14

Echo τα περιεχόμενα της μεταβλητής , αν θέλετε μόνο τοπικές JavaScript για να είναι σε θέση να το χρησιμοποιήσετε

echo $ fetch_data ? .

15

κωδικοποιήσει τα δεδομένα με JSON πριν επαναλαμβάνοντας αν θέλετε εξωτερικά JavaScripts να είναι σε θέση να χρησιμοποιήσετε το PHP script σας . JSON έχει και άλλα οφέλη , όπως η δυνατότητα να περάσετε πολλές μεταβλητές στη JavaScript . Το παρακάτω παράδειγμα περνάει τόσο το περιεχόμενο της διεύθυνσης URL , καθώς και το ίδιο το URL

$ εξόδου [' url' ] = $ url ? .

$ Εξόδου [' περιεχόμενο '] = $ fetch_data ?

$ output = json_encode ( $ output) ?

echo $ εξόδου?

16

σημείο κάθε Ajax ζητεί JavaScript σας στη διεύθυνση URL του script PHP . JavaScript σας μπορεί τώρα να ανακτήσει δεδομένα από σχεδόν οπουδήποτε στο Διαδίκτυο .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα