In PHP kunt de fopen-opdracht u een URL openen en de inhoud van een extern document op te halen. Op sommige PHP servers, kan je de fopen-opdracht voor beveiliging vergrendeld en geblokkeerd van het openen van externe bronnen. Als dit het geval, de beheerder van de server meestal zorgt voor een alternatief, zoals het opensource cURL pakket, welke PHP heeft ingebouwde ondersteuning voor het gebruik van de cURL uitbreiding. Ter vervanging van de fopen kunt opdracht met de PHP cURL-opdrachten u voort te zetten voor het ophalen van externe inhoud van binnen uw scripts.
Open uw PHP-script in een teksteditor of de aanvrage van het Gemeenschapsmodel Web. Zoek het blok met code die gebruikmaakt van fopen gegevens ophalen uit een externe URL, die er ongeveer als volgt ziet.
<>
$url = "http://www.domain.com/"
$fp = fopen($url,"r");
$data = "";
Als ($fp) {}while (($buffer = fgets($fp, 4096)) !== false) {$data .= $buffer;}fclose($fp);
}
?>Deze code opent een verbinding met de URL die is opgeslagen in de variabele $url en vervolgens de inhoud van de pagina in de variabele $data gelezen. Immers de gegevens ontvangen is de verbinding gesloten.
De code vervangen door het volgende:
<>
$url = "http://www.domain.com/"
$data = "";
$cp = curl_init();
curl_setopt ($cp, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($cp, CURLOPT_URL, $url);
curl_setopt ($cp, CURLOPT_TIMEOUT, 60);
$data = curl_exec($cp);
curl_close($CP);
ECHO $data;
?>Vervang de voorbeeld-URL opgeslagen in $url met de URL om te lezen. Wijzig de naam van variabele $data naar overeenkomen met de naam van de variabele die de inhoud van de URL op te slaan in de oorspronkelijke code. De code initieert een cURL-exemplaar, worden de URL op te halen en de parameter time-out ingesteld en vervolgens de inhoud van het externe document opgehaald. De cURL exemplaar is dan gesloten en de inhoud van de externe URL afgedrukt.
De pagina opslaan en uploaden naar uw server. Open de pagina in een webbrowser om te verifiëren dat u de inhoud van de externe pagina kunt zien.
- cURL is zeer veelzijdig en kan bereiken veel meer dan de fopen-opdracht. Het is de moeite waard lezen via de online documentatie om te ontdekken alle functies beschikbaar.