У меня есть приложение, которое загружает файл 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']);
}
}
Любая обратная связь будет оценена