file_get_contents(): Content-type not specified assuming application/x-www-form-urlencoded with imgur API

user2985255 picture user2985255 · Feb 20, 2017 · Viewed 8.7k times · Source

I'm trying to create an app to upload profile images to imgur but I'm having a problem.

if (isset($_POST['uploadprofileimg'])) {
   $image = base64_encode(file_get_contents($_FILES['profileimg']['tmp_name']));

   $options = array('http' => array(
       'method' => "POST",
       'header' => "Authorization: Bearer sdf541gs6df51gsd1bsb16etb16teg1etr1ge61g\n",
       "Content-Type: application/x-www-form-urlencoded",
       'content' => $image
   ));

   $context = stream_context_create($options);

   $imgurURL = "https://api.imgur.com/3/image";

   $response = file_get_contents($imgurURL, FALSE, $context);
}

I'm getting this notice:

Notice: file_get_contents(): Content-type not specified assuming application/x-www-form-urlencoded in C:\WebServer\Apache24\Apache24\htdocs\html\www\SocialNetwork\my-account.php on line 17

even though this doesn't break my app, it's annoying. How can I fix it?

I've tried to add "User-Agent:MyAgent/1.0\r\n", and "Connection: close" to the header part but it doesn't seem to fix it!!!!

Answer

Dan Ionescu picture Dan Ionescu · Feb 20, 2017

Try replacing the options array with:

$options = array('http' => array(
    'method' => "POST",
    'header' =>
        "Content-Type: application/x-www-form-urlencoded\r\n".
        "Authorization: Bearer sdf541gs6df51gsd1bsb16etb16teg1etr1ge61g\n",
    'content' => $image
));