Hallo,
in vorig topic werd mij gezegd dat om het type van een url te controleren men in de header de content-type moet controleren.

Hoe pas ik dit dan ook daadwerkelijk toe?

Ik vind hier namelijk enkel vage dingen van op internet.

ik wil dus url's controleren of deze naar een afbeelding leiden of niet, de controle moet gewoon false of true geven.
Mvg,
Kristof
Goedemiddag Kristof,

Wat heb je nu al geschreven?
niet echt iets, ik weet niet eens hoe ik aan de header kom

Het enige wat ik al heb is een url dat ik uit een database haal
Aan de url alleen kan je niets afleiden. Wat je zal moeten doen is vanaf je server de url aanroepen en dan de response van de externe server ontleden. Die kan je doen via een curl request: http://nl3.php.net/curl
Ik was aan het kijken naar curl en ik begrijp dat men eerst de url moet initialiseren, namelijk als volgt:
$avatargoed = curl_init($avatar);

waarbij $avatar de url is

Dan willen ze dat je via fopen het bestand schrijfbaar opent, maar hier krijg ik een error bij indien er om een fout geen url staat in de database en dus ook niet achter variabel $avatar

Hoe kan ik dit oplossen?

Edit:

Ik zat fout, het moet op deze manier als ik nu begrijp:
$avatargoed = curl_init($avatar);
$avatarok = curl_getinfo($avatargoed);
echo $avatarok["content_type"];

Zoals je ziet zet ik even wat er uit komt op de uitvoer, maar er komt nooit wat uit, dat kan toch niet?
Je execute het request niet en daarnaast wil je de headers kunnen controleren, dus zal je curl ook de opdracht moeten geven die mee te geven:

<?php
$ch = curl_init( $avatar );
curl_setopt( $ch, CURLOPT_HEADER, true );
$res = curl_exec( $ch );
$info = curl_getinfo( $ch );
curl_close( $ch );
?>
Waarvoor gebruik je deze regel:
$res = curl_exec( $ch );

Je doet namelijk toch niets met $res?
[php]curl_exec[/php]
Execute the given cURL session.

Zonder aanroep naar execute is er dus niets op te halen. curl_getinfo zal dan niets terug geven.

Verder moet ik wel toegeven dat ik bovenstaande min of meer even snel heb gecopieerd uit mijn eigen class die curl sessie regelt. Alleen hier even wat compacter. $res check je normaal gesproken op het resultaat, omdat als de execute niet werkt krijg je een false terug.
Als ik die code gebruik en ik doe echo $avatarheader["content_type"]; komt de volledige site te voorschijn die op de url staat, dat is toch ook niet de bedoeling?

ik moet puur content_type hebben, niet meer

Reageren