无法解决file_get_contents()警告问题

时间:2017-04-25 18:39:54

标签: php api file warnings file-get-contents

这是我的代码到目前为止,我有三个不同的file_get_contents()警告,它们都是$ response变量的定义,

  1. SSL操作失败,代码为
  2. 无法启用加密,
  3. https://api.imgur.com/3/image):无法打开流:
  4. 我已经使用了curl请求(注释掉了),这解决了警告但我必须更改$ response的定义,我不打算这样做。

    <?php
    include_once("connect.php");
    
        class Image
        {
            public static function uploadImage($formname,$query,$params)
            {       
                $image = base64_encode(file_get_contents($_FILES[$formname]['tmp_name']));
                $options = array('http'=>array(
                    'method'=>"POST",
                    'header'=>"Authorization: Bearer access code\n".
                    "Content-Type: application/x-www-form-urlencoded",
                    'content'=>$image
                ));
    
                $context = stream_context_create($options);
                $imgurURL = "https://api.imgur.com/3/image";
                if ($_FILES[$formname]['size'] > 10240000) {
                    die('Image too big, must be 10MB or less!');
                }
    
                $response = file_get_contents($imgurURL, false, $context);
                $response = json_decode($response);
    
    
                $preparams = array($formname=>$response->data->link);
                $params = array_merge($preparams,$params);
    
                connect::query($query,$params);                
    
            }
        }
    
    ?>
    

1 个答案:

答案 0 :(得分:0)

必须在您的服务器上启用扩展程序php_openssl

致电phpinfo()并查看openssl部分,并OpenSSL support设置为enabled

另外,请确认您已在服务器上安装了通用证书。如果您使用的是Linux和Debian / Ubuntu,则可以执行apt-get install ca-certificates