img URL hulp
Ik wou graag hulp bij mijn probleem. Hieronder staat het probleem uitgelegd:
Ik heb een URL, bijvoorbeeld: https://www.domein.nl/avatar/Rob, deze URL wordt doorgelinkt naar https://www.domein2.nl/avatarimage?figure=cc-3269-110-1220.lg-270-62.sh-295-62.hd-180-1.ch-215-62.hr-3531-1394-31name=Rob
Hoe kan ik er voor zorgen dat ik met PHP de 2e URL kan krijgen? Als ik alleen maar de 1e heb. Want als het bijvoorbeeld
https://www.domein.nl/avatar/Jurre dan word het bij https://www.domein2.nl weer /avatarimage?figure=cc-3245-532-6232.sx-220-42.sh-255-22.hd-180-1.ch-215-62.hr-3531-5328-31name=Jurre
Dit is dus anders bij elke gebruiker, name=NAAM maakt dus eigenlijk niks uit. Enig idee hoe ik dit moet doen?
Alvast bedankt!
Toevoeging op 04/03/2017 13:24:59:
TOEVOEGING:
Ik heb dit nodig omdat ik bij domein.nl alleen 1 ding kan toevoegen &direction=3 en bij domein2.nl kan ik meerdere, &direction=3&head=sml
https://www.domein.nl/avatar/Rob doorgelink naar de lange URL van domein2?
Op welke manier wordt Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$response = curl_exec($ch);
curl_close($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$headers = substr($response, 0, $header_size);
$headers = explode("\r\n", $headers);
$new_url = null;
foreach ($headers as $header) {
$header = explode(':', $header);
if (strtolower($header[0]) == 'location') {
$new_url = trim($header[1]);
break;
}
}
// Werk hier verder met $new_url
?>
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$response = curl_exec($ch);
curl_close($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$headers = substr($response, 0, $header_size);
$headers = explode("\r\n", $headers);
$new_url = null;
foreach ($headers as $header) {
$header = explode(':', $header);
if (strtolower($header[0]) == 'location') {
$new_url = trim($header[1]);
break;
}
}
// Werk hier verder met $new_url
?>
- Ariën - op 04/03/2017 19:49:29:
Op welke manier wordt https://www.domein.nl/avatar/Rob doorgelink naar de lange URL van domein2?
Ik denk 403, ik ben niet de eigenaar van domein.nl..
Toevoeging op 05/03/2017 13:05:06:
Ben van Velzen op 05/03/2017 02:34:55:
Wanneer het om een location header gaat zou je met cURL iets als volgt kunnen doen (uiteraard niet getest):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$response = curl_exec($ch);
curl_close($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$headers = substr($response, 0, $header_size);
$headers = explode("\r\n", $headers);
$new_url = null;
foreach ($headers as $header) {
$header = explode(':', $header);
if (strtolower($header[0]) == 'location') {
$new_url = trim($header[1]);
break;
}
}
// Werk hier verder met $new_url
?>
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$response = curl_exec($ch);
curl_close($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$headers = substr($response, 0, $header_size);
$headers = explode("\r\n", $headers);
$new_url = null;
foreach ($headers as $header) {
$header = explode(':', $header);
if (strtolower($header[0]) == 'location') {
$new_url = trim($header[1]);
break;
}
}
// Werk hier verder met $new_url
?>
Moet ik bij location de URL zetten?
Toevoeging op 05/03/2017 13:11:47:
Ik heb het al gevonden ;-)
$url = "https://www.domein.nl/avatar/Rob";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Must be set to true so that PHP follows any "Location:" header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$a = curl_exec($ch); // $a will contain all headers
$url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); // This is what you need, it will return you the last effective URL