Что не так с сообщением об ошибке запроса {«ошибки»: [«неопределенный метод `tempfile’ для «@/files/media/keywords.csv «:Строка»]}

#php #curl #httpful

#php #curl #httpful

Вопрос:

Я хочу загрузить файл, я получаю сообщение об ошибке ниже

{"errors":["undefined method tempfile'for"@/files/media/keywords.csv":String"]}

Вот мой код

 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,
'https://app.simpli.fi/api/organizations/57979/campaigns/2156268/keywords');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
        
        $post = array(
            'keyword[csv]' => '@' .realpath('./files/media/keywords.csv'),
            'keyword[append]' => 'true'
        );
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        
        $headers = array();
        $headers[] = 'X-App-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
        $headers[] = 'X-User-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        
        $result = curl_exec($ch);
        echo "<pre>";
        print_r($result);
        if (curl_errno($ch)) {
            echo 'Error:' . curl_error($ch);
        }
        curl_close($ch);
        die;
  

Комментарии:

1. Я не могу воспроизвести. Когда я запускаю ваш код, все, что я получаю, это пустая строка в результате.

2. Для воспроизведения создайте csv-файл с любым словом в первой ячейке только для теста. Укажите путь к файлу в запросе curl. И для выполнения вам понадобятся ключ приложения и ключ пользователя