Beste PHP'er,

Er is naar mijn idee plotseling iets mis gegaan met een postcodezoeker en ik zou ongelooflijk erg geholpen zijn met je hulp.

Ik krijg de volgende error:

Warning: fopen(http://maps.google.nl/maps/geo?output=json&q=hoorn&key=ABQIAAAAafxZrwk5qMSTuPdmkIrHehTczAKx1oMHJ3hF3F5TkrJf8uJNeRQ4yxbxQMuRQnmadrW6QRN3vWPlmw) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden *HIER STOND MIJN VOLLEDIGE PAD*/components/com_mtzcssearch/mtzcssearch.php on line 3636

Warning: fclose(): supplied argument is not a valid stream resource in *HIER STOND MIJN VOLLEDIGE PAD*/components/com_mtzcssearch/mtzcssearch.php on line 3638

En dit is de functie waarin het fout gaat (Regel 3636 is deze regel:

<?php
$gm=fopen("$fullUrl",'r');)

function sendGeoQuery($url,$q,$apikey = '') {
        
	$fullUrl = $url . urlencode($q);
	if($apikey) $fullUrl .= '&key='.$apikey;
        
	if(ini_get("allow_url_fopen")) {
		$gm=fopen("$fullUrl",'r');
		$tmp=@fread($gm,30000);
		fclose($gm);
	} else {
		$ch = curl_init();
		$timeout = 20; // set to zero for no timeout
		curl_setopt($ch, CURLOPT_URL, "$fullUrl");
		curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
		$tmp= curl_exec($ch);
		curl_close($ch);
	}
?>

Als je de volledige mtzsearch.php code nodig hebt hoor ik het graag. Bij voorbaat dank voor je hulp!

Met vriendelijke groet,

Rik Wanders

Het lijkt er op dat je onvoldoende schrijfrechten hebt. Waarom gebruik je fopen() en waarom gebruik je niet direct curl?

zet je php code even tussen de php code tags dan is het allemaal beter leesbaar
Heb je een postcodezoeker nodig?

Doe dat gewoon allemaal met javascript.

Als je me vertelt wat je precies nodig hebt, help ik je daarmee.
Toon bv. eens de HTML die daarbij hoort, en in welke context je een postcode nodig hebt (afhankelijk van zoekopdracht van gebruikers? ...)
Je krijgt een 403 terug. Het ophalen van de url lukt wel maar wat je probeert mag niet van Google.
Het staat gewoon in de error
[function.fopen]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden

Als je de url opent in je browser krijg je ook een duidelijke melding.
Jep, als je enkel nederlandse postcodes wilt zoeken kan ik je de api van postcode.nl adviseren

Toevoeging op 17/09/2013 12:47:16:

Of je moet betalende klant worden bij google
Bedankt voor de aanwijzingen.

Het gaat om een module die is geïnstalleerd binnen een joomla installatie. Deze zoeker zoekt per postcode en/of woonplaats naar een dichtstbijzijnde vestiging.

Iets concreter dan, hoe kan ik dit probleem het beste aanvliegen? Bijvoorbeeld een curl gebruiken.. is het bekend dat dit wel helpt en zo ja hoe kan fopen omzetten tot curl?

Kunnen jullie mij aub helpen met wat coding?
curl of niet, als google geen zin heeft om je te antwoorden dan doen ze dat niet.

Ik heb even gekeken naar de google geocoding API.

Deze URL (versie 3) mag je tot 2500 keer per dag gratis aanroepen.
http://maps.googleapis.com/maps/api/geocode/json?address=hoorn&sensor=false

Hier valt het allemaal te lezen:
https://developers.google.com/maps/documentation/geocoding/?hl=nl#JSON

Ik wil ook helpen met coding. stuur me in dat geval een privé bericht.
Is dit ondertussen opgelost?

Reageren