我的表單中有兩個文件上傳控件,一個用於上傳一個css文件,另一個用於html文件。 我的css文件名是style.css,html文件名是test.html。同一形式的兩個文件上傳控件在codeigniter上傳時同名
兩個文件都成功上傳,但上傳時都採用相同的名稱。上傳時css文件名是style.css,html文件名也是style.css。
CSS文件上傳代碼:
if(isset($_FILES['css_file']) AND $_FILES['css_file']['name'] != '') {
$xyz['upload_path'] = 'theme/'.$folder_name;
$xyz['allowed_types'] = 'css';
$xyz['overwrite'] = FALSE;
$xyz['file_name'] = $_FILES['css_file']['name'];
$this->load->library('upload', $xyz);
if (!$this->upload->do_upload('css_file')) {
echo $this->upload->display_errors();
}else{
$abc_array['file'] = $this->upload->data();
$array_rc['css_file'] = $abc_array['file']['file_name'];
}
}
HTML文件上傳代碼:
if(isset($_FILES['html_file']) AND $_FILES['html_file']['name'] != '') {
$abc['upload_path'] = 'theme/'.$folder_name;
$abc['allowed_types'] = 'html';
$abc['overwrite'] = FALSE;
$abc['file_name'] = $_FILES['html_file']['name'];
$this->load->library('upload', $abc);
if (!$this->upload->do_upload('html_file')) {
echo $this->upload->display_errors();
}else{
$xyz_array['file'] = $this->upload->data();
$array_rc['html_file'] = $xyz_array['file']['file_name'];
}
}
因此,如何能在我上傳的時間重命名HTML文件?
我的猜測是,在上傳您使用相同的腳本,CSS和HTML文件,在調用move_uploaded_file之前,您正在將這些文件重命名爲硬編碼的字符串。 – Tahir
我正在使用兩個不同的腳本來上傳一個CSS和HTML文件。 –
如果您可以顯示您的代碼,請顯示您的上傳代碼...來自控制器 –