У меня есть код для загрузки такого файла, эта загрузка сохранит исходный файл с именем, но я хочу загрузить файл с переименованием исходного файла. имя моего файла будет соответствовать некоторым данным в базе данных. где я могу изменить свой код для этой проблемы?
У меня есть таблица под названием «формат», из которой будет создан файл с именем файла. Как ввести данные в формате формата, чтобы изменить исходное имя файла с расширением, как у исходного файла
public function proses_upload2(){
$gambar = array();
$jumlah = count($_FILES['userfile']['name']);
for ($i=0; $i < $jumlah; $i++) {
$file_name = $_FILES['userfile']['name'][$i];
$tmp_name = $_FILES['userfile']['tmp_name'][$i];
move_uploaded_file($tmp_name, "file/".$file_name);
$gambar[$i] = $file_name;
}
$nama_file1 = $gambar[0];
$format_p2ptm = "Form Lap Haji";
$tanggal =date("Y-m-d H:i:s");//$this->input->post('waktu_upload');
$jenis='p2si';
$nama_file2 = $gambar[1];
$format_p2ptm2 = "Form Lap KLB";
$jenis='p2si';
$nama_file3 = $gambar[2];
$format_p2ptm3 = "Form Lap Imunisasi Balita, Bumil dan WUS";
$jenis='p2si';
$nama_file4 = $gambar[3];
$format_p2ptm4 = "Form Lap Investigasi Final KIPI";
$jenis='p2si';
$nama_file5 = $gambar[4];
$format_p2ptm5 = "Form Lap Stock + Harga Vaksin";
$jenis='p2si';
$nama_file6 = $gambar[5];
$format_p2ptm6 = "Form Lap Campak";
$jenis='p2si';
if (!$nama_file1 == "") {
$this->app_model->insert_data('penyakit', $format_p2ptm, $tanggal,$nama_file1,$jenis, $this->session->userdata('id_puskesmas'));
}
if (!$nama_file2 == "") {
$this->app_model->insert_data('penyakit', $format_p2ptm2, $tanggal,$nama_file2,$jenis,$this->session->userdata('id_puskesmas'));
}
if (!$nama_file3 == "") {
$this->app_model->insert_data('penyakit', $format_p2ptm3, $tanggal,$nama_file3,$jenis,$this->session->userdata('id_puskesmas'));
}
if (!$nama_file4 == "") {
$this->app_model->insert_data('penyakit', $format_p2ptm4, $tanggal,$nama_file4,$jenis,$this->session->userdata('id_puskesmas'));
}
if (!$nama_file5 == "") {
$this->app_model->insert_data('penyakit', $format_p2ptm5, $tanggal,$nama_file5,$jenis,$this->session->userdata('id_puskesmas'));
}
if (!$nama_file6 == "") {
$this->app_model->insert_data('penyakit', $format_p2ptm6, $tanggal,$nama_file6,$jenis,$this->session->userdata('id_puskesmas'));
}
redirect('puskesmas/view_puskesmas1');
}
Немного запутался: похоже, вы не используете встроенную библиотеку загрузки codeigniter, хотя вы отметили вопрос как codeigniter. Можете ли вы реорганизовать свой код и использовать библиотеку загрузки CI? Если это так, переименование загруженного файла выполняется в один лайнер.






Вместо $file_name = $_FILES['userfile']['name'][$i]; используйте выбранное вами имя.
но я хочу присвоить файлу имя автоматически. если пользователь вводит имя hello.xlsx, система автоматически изменит имя hello.xlsx на имя, настроенное на указанный формат
Все, что я имел в виду, - это построить логику для создания динамического имени файла отдельно и просто дать это имя при вызове move_uploaded_files. Было бы полезно, если бы вы могли объяснить, насколько «динамичными» будут ваши имена файлов. Есть ли в этом какая-то логика?
хорошо, у меня есть таблица под названием «формат». формат таблицы содержит некоторые данные, такие как A, B, C, D. только данные находятся в таблице «формат». то в сценарии в моем сообщении выше идет процесс загрузки файла, где файл имеет форму / расширение xlsx / xls (файл ms.excel). у пользователя, у которого есть файл с именем Hello.xlsx, при загрузке имя файла изменится на A.xlsx. а для загрузки второй столбец изменится на B.xlsx и т. д.
Вместо $ file_name = $ _FILES ['userfile'] ['name'] [$ i]; добавьте этот код $ _FILES ['userfile'] ['name'] = 'File-name'; В цикле
Ваш вопрос недостаточно ясен, вы хотите создать случайное имя файла для загруженного файла, а затем сохранить это новое имя в db?