En rask måte å få innholdet på en webside til en streng variabel i PHP er å bruke " file_get_contents "-funksjonen . Men det er mange webservere som ikke tillater websideinnhold å bli tatt på denne måten. I slike tilfeller må du bruke PHP Client URL , eller krøller , biblioteket for å hente innholdet på siden og legg den i en eller flere PHP strenger . Selv om cURL er en ekstern biblioteket til PHP , er det vanligvis installert som en del av en "standard" PHP -installasjonen. Instruksjoner
en
gjennom dokumentasjonen for cURL biblioteket. Vær spesielt oppmerksom på " curl_setopt "-funksjonen , som inneholder en liste over de mange mulige alternativer du kan angi ved hjelp cURL . Identifiser alternativene du trenger for å sette for å hente data gitt kilden til data og streng eller strenger der du vil sette inn dataene.
2
Lag en funksjon for å ta en URL som en parameter , og returnerer innholdet i denne nettadressen . Sette en variabel til å starte cURL . For eksempel skrive : en
funksjon get_web_page ( $ url) {$ lm = curl_init ();
3
Bruk " curl_setopt "-funksjonen til å sette hver av de cURL alternativer. Bruk " 1 " for " på" og " 0 " for " off ". Sett URL som du kommer til å trekke ut data , sette alternativet til å returnere fra fange URL med dataene som er lagret i en variabel og sette den maksimale mengden av tid til å vente hvis siden ikke lastes. For eksempel skrive : en
curl_setopt ( $ ch , CURLOPT_URL , $ url) ; curl_setopt ( $ ch , CURLOPT_RETURNTRANSFER , 1 ) ; curl_setopt ( $ ch , CURLOPT_CONNECTTIMEOUT , 30) ;
4 < p> Sett en user agent string å ha cURL utgi en nettleser , sett muligheten til å automatisk følge omdirigeringer , og sette alternativet til å mislykkes på en feil . For eksempel skrive : en
curl_setopt ( $ ch , ' Mozilla/5.0 (Windows , U, MSIE 9.0 , Windows NT 9.0 , en-US ) ) '); curl_setopt ( $ ch , CURLOPT_FAILONERROR , 1 ); curl_setopt ( $ ch , CURLOPT_FOLLOWLOCATION , 1 ) ; curl_setopt ( $ ch , CURLOPT_AUTOREFERER , 1 ) ;
5
Call " curl_exec " for å hente dataene inn i en streng variabel . For eksempel skrive : en
$ webside = curl_exec ( $ ch ) ;
6
Sjekk å se om det var en feil ved henting på siden og deretter lukke curl transaksjonen. For eksempel skrive : en
if ( curl_errno ( $ ch )) return false; curl_close ( $ ch ); returnere $ websiden ;}