Использование неопределенной константы CURL_POSTFIELDS - предполагается, что CURL_POSTFIELDS (это приведет к ошибке в будущей версии PHP) - PullRequest
0 голосов
/ 06 июня 2019

Я пишу приложение laravel для отправки смс. Однако часть postfields выдает ошибку. Как мне решить это?

private function sendMessage($message, $recipients) {
    $encodeMessage=urlencode($message);
    $authkey = 'XYZ';
    $senderid = '';
    $route = ;
    $country = ;
    $data = array(
        'authkey' => $authkey,
        'recipients' => $recipients,
        'message' => $encodeMessage,
        'sender' => $senderid,
        'route' => $route,
        'country' => $country,
    );
    //dd($recipients)
    $url = " ";
    $ch = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURL_POSTFIELDS => $data
    ));
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);$output=curl_exec($ch);
    if(curl_errno($ch)) {
        echo 'error '.curl_error($ch);
    }
    curl_close($ch);
    return back()->with('success','Messages sent successfully');
}

Это ошибка, которую я получаю:

"Использование неопределенной константы CURL_POSTFIELDS - предполагается, что 'CURL_POSTFIELDS' (это приведет к ошибке в будущей версии PHP) "

Ответы [ 2 ]

1 голос
/ 06 июня 2019

Ваша ошибка говорит о том, что вы используете константу, которая не определена, что означает, что она никогда не была объявлена. Действительно, как уже было сказано в комментариях, правильная константа - CURLOPT_POSTFIELDS.

0 голосов
/ 19 июня 2019

$fileName = storage_path('app') . '/tmp.xlsx';
$file_put_contents($fileName, file_get_contents($path));
$fields['file_name'] = $this->makeCurlFile($fileName);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);

protected function makeCurlFile($file)
{
   $mime = mime_content_type($file);
   $info = pathinfo($file);
   $name = $info['basename'];
   $output = new \CURLFile($file, $mime, $name);
   return $output;
}
...