Как Curl работает с загружаемым файлом? - PullRequest
0 голосов
/ 29 января 2019

У меня есть приложение, которое загружает файл Excel, а затем вставляет данные в Excel в базу данных.Приложение выдаст 2 выхода.Первый вывод - когда данные успешно вставлены, а второй - когда данные уже сохранены в базе данных.

Теперь на другом сервере я хочу создать новое приложение и хочу использовать этот метод загрузки (контроллер)используя Curl.Я реализовал это, и это работает.Но некоторые файлы Excel не работают, так как приложение выдает данные о том, что данные уже сохранены.

Я предполагаю, что допустил некоторую ошибку, используя Curl, из-за которой я загружаю, используя Curl дважды.

Когдаданные уже сохранены, они будут выдавать «существует в базе данных» или «не удалось подключиться».Я использую этот параметр в качестве синтаксического анализа в качестве вывода для пользователя, а также, когда данные успешно вставляются в базу данных.

if (isset($_POST['btnUpload'])) {
        $url = //controller to upload excel to database
        $filename = basename($_FILES['upload-file']['name']);
        $filedata = $_FILES['upload-file']['tmp_name'];
        $filesize = $_FILES['upload-file']['size'];


        if ($filedata != '') {
            $headers = array("Content-Type:multipart/form-data"); // cURL headers for file uploading
            $postfields = array(
                "upload-file" => new CURLFile($filedata, $_FILES['upload-file']['type'], $filename),    
            );
            $ch = curl_init();
            $options = array(
                CURLOPT_URL => $url,
                CURLOPT_POST => 1,
                CURLOPT_HTTPHEADER => $headers,
                CURLOPT_POSTFIELDS => $postfields,
                CURLOPT_RETURNTRANSFER => true
            ); // cURL options
            curl_setopt_array($ch, $options);
            $output = curl_exec($ch);

            curl_close($ch);

            if ((strpos($output, 'exist') !== false) or (strpos($output, 'Failed') !== false)) {
                        $this->session->set_flashdata('msg-error',$output);
                        redirect($_SERVER['HTTP_REFERER']);
            } else {
                        $this->session->set_flashdata('msg-success',"File uploaded");
                        redirect($_SERVER['HTTP_REFERER']);
            }
   }

Любая обратная связь будет оценена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...