file_get_contents()
doesn't read data for short urls
Example:
- http://wp.me/pbZy8-1WM,
- http://bit.ly/d00E2C
Please help me in handle this. OR Is there any CURL function to handle above links?
file_get_contents()
doesn't read data for short urls
Example:
Please help me in handle this. OR Is there any CURL function to handle above links?
This in general works fine. If you find it doesn't do the right thing you can explicitly use a stream context:
$url = "http://bit.ly/d00E2C";
$context = stream_context_create(array('http' => array('max_redirects' => 5)));
$val = file_get_contents($url, false, $context);
should do it. No need to touch CURL for that.
'max_redirects'
... not sure how I feel about that. Can you merge answers on Stackoverflow? –
Sibert On my machine, I cannot replicate your problem; I receive the page as intended. However, should the issue be with the redirect, this may solve your problem.
<?php
$opts = array(
'http' => array(
'follow_location' => 1,
'max_redirects' => 20
)
);
$context = stream_context_create($opts);
echo file_get_contents('http://wp.me/pbZy8-1WM', false, $context);
I imagine there may be a directive that toggles redirect following, but I have not yet found it. I will edit my answer should I.
What you can do is using curl with CURLOPT_FOLLOWLOCATION set to True:
$ch = curl_init("http://bit.ly/d00E2C");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
© 2022 - 2024 — McMap. All rights reserved.
file_get_contents
with a URL, it defers to cURL to get the data – Collocateallow_url_fopen
on inphp.ini
? – Outdoors