0
我無法在名稱中附加帶空格的文件,但是當沒有空間 已成功連接時,我正在使用codeigniter進行此操作, 將文件上傳到服務器,然後再附加它,我使用幫助路徑獲取路由到我的文件。 Sendmail的功能的用名稱中的空格附加文件
function upload_file() {
//$this->load->helper('path');
//$path = set_realpath('./uploads/');
//upload file
$config['upload_path'] = './uploads/';
$config['allowed_types'] = '*';
$config['max_filename'] = '255';
$config['encrypt_name'] = FALSE;
$config['max_size'] = '50000';
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
if (isset($_FILES['file']['name'])) {
if (0 < $_FILES['file']['error']) {
echo 'Error durante la carga' . $_FILES['file']['error'];
} else {
if (file_exists('./uploads/' . $_FILES['file']['name'])) {
echo 'Nombre de archivo ya existe : uploads/' . $_FILES['file']['name'];
} else {
$this->load->library('upload', $config);
if (!$this->upload->do_upload('file')) {
echo $this->upload->display_errors();
} else {
echo 'Archivo cargado! : ./uploads/' . $_FILES['file']['name'];
}
}
}
} else {
echo 'Porfavor selecciona un archivo';
}
}
部分:視圖的
$archivo = $_FILES['file']['name'];
$path = set_realpath('./uploads/');
$adjunto = $path.$archivo;
$this->email->attach($adjunto);
部分和JS
<input type="file" id="file" name="file" />
$(document).ready(function (e) {
$('#file').on('change', function() {
var file_data = $('#file').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url: 'http://mail.mayordomus.cl/Cpersona/upload_file',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function (response) {
$('#msg').html(response);
},
error: function (response) {
$('#msg').html(response);
}
});
});
});
有什麼要求?您是否嘗試在客戶端或服務器上調整文件名? – guest271314
你嘗試過'utf8_encode' – elddenmedio
嘗試使用%20作爲轉義字符。 –