Я использую класс FTP в CodeIgniter, у них есть функция для загрузки файла с FTP.
Я хотел бы сохранить файл с сервера на мой компьютер.он сохраняет мой файл в моей папке загрузки, но файл "Не удается открыть файл".Когда я использую другой метод, CA не сохраняет файл.
Код PHP
$source_to_server = $this->input->post('path');
$file = $this->input->post('file');
header("Cache-Control: ");
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=".$file);
$row = $this->model_front->get_website($id_ftp_websites)->row();
$config['hostname'] = $row->host_ftp;
$config['username'] = $row->login_ftp;
$config['password'] = $row->password_ftp;
$this->ftp->connect($config);
$this->ftp->download($source_to_server, 'php://output', 'auto');
main.js (Ajax)
var path = $("#path").text()+folderselect_contextmenu.find(".name").text();
var file = folderselect_contextmenu.find(".name").text();
$.ajax({
type: "POST",
url: $(this).attr('href'),
data: {'path':path,'file':file},
success: function(response, status, xhr) {
var filename = "";
var disposition = xhr.getResponseHeader('Content-Disposition');
if (disposition && disposition.indexOf('attachment') !== -1) {
var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
var matches = filenameRegex.exec(disposition);
if (matches != null && matches[1]) filename = matches[1].replace(/['"]/g, '');
}
var type = xhr.getResponseHeader('Content-Type');
var blob = new Blob([response], { type: type });
if (typeof window.navigator.msSaveBlob !== 'undefined') {
window.navigator.msSaveBlob(blob, filename);
} else {
var URL = window.URL || window.webkitURL;
var downloadUrl = URL.createObjectURL(blob);
if (filename) {
var a = document.createElement("a");
if (typeof a.download === 'undefined') {
window.location = downloadUrl;
} else {
a.href = downloadUrl;
a.download = filename;
document.body.appendChild(a);
a.click();
}
} else {
window.location = downloadUrl;
}
setTimeout(function () { URL.revokeObjectURL(downloadUrl); }, 100); // cleanup
}
}
});
e.preventDefault();