我是PHP的初学者,现在用PHP做一个项目。我想上传图片(最多四个图片文件)。我使用以下代码上传图像。
public function news_upload()
{
//echo "hello";exit;
$this->load->library('upload');
//print_r ($_FILES);
$_FILES['filename']['type']= $_FILES['filename']['type'];
$_FILES['filename']['tmp_name']= $_FILES['filename']['tmp_name'];
$_FILES['filename']['error']= $_FILES['filename']['error'];
$_FILES['filename']['size']= $_FILES['filename']['size'];
$ext=pathinfo($_FILES['filename']['name'],PATHINFO_EXTENSION);
//echo $ext;
$_FILES['filename']['name'] = rand(0,1000)."_".strtotime("now")."_".rand(0,1000).'.'.$ext;
//$document_file[] = $_FILES['filename']['name'];
$this->upload->initialize($this->news_upload_options());
if (!$this->upload->do_upload('filename'))
{
$error = array('error' =>$this->upload->display_errors());
}
else
{
$newstile=$this->input->post('news_title');
$newsdate=$this->input->post('news_date');
$uplo=$_FILES['filename']['name'];
$priority=$this->input->post('news_priority');
$status=$this->input->post('news_status');
$this->the_model->news_uploade($newstile,$newsdate,$uplo,$priority,$status);
}
redirect('welcome/discrp_news');
}
我需要帮助修改此代码以上传最多 4 张图像。是否可以使用重命名功能重命名所选文件,以便在移动到指定文件夹时上传?但它显示错误
如果文件是多个,则需要循环文件。下面是我的工作示例.
function do_upload()
{
$this->load->library('upload');
$files = $_FILES;
$cpt = count($_FILES['userfile']['name']);
for($i=0; $i<$cpt; $i++)
{
$_FILES['userfile']['name']= $files['userfile']['name'][$i];
$_FILES['userfile']['type']= $files['userfile']['type'][$i];
$_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
$_FILES['userfile']['error']= $files['userfile']['error'][$i];
$_FILES['userfile']['size']= $files['userfile']['size'][$i];
$this->upload->initialize($this->set_upload_options());
$this->upload->do_upload();
}
}
private function set_upload_options()
{
//upload an image options
$config = array();
$config['upload_path'] = './Images/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '0';
$config['overwrite'] = FALSE;
return $config;
}
希望有帮助.