Php 如何使用do_upload()函数命名文件

Php 如何使用do_upload()函数命名文件,php,image,codeigniter,upload,Php,Image,Codeigniter,Upload,我正在尝试上传带有个性化姓名的图片。如果有人上传图片到某个项目,我想要这个个性化的名称:project_imageX.jpg,其中X是图片的编号。在我的代码中,这个数字由一个计数器控制,但这并不重要 我了解到函数do_upload()支持的参数,因此,我尝试执行以下操作: $this->upload->do_upload('form_name',$my_name); 变量$my_name由前面指定的结构填充。 但它不起作用 你知道我做错了什么吗 谢谢大家 Code Igniter

我正在尝试上传带有个性化姓名的图片。如果有人上传图片到某个项目,我想要这个个性化的名称:project_imageX.jpg,其中X是图片的编号。在我的代码中,这个数字由一个计数器控制,但这并不重要

我了解到函数do_upload()支持的参数,因此,我尝试执行以下操作:

$this->upload->do_upload('form_name',$my_name); 
变量$my_name由前面指定的结构填充。 但它不起作用

你知道我做错了什么吗


谢谢大家

Code Igniter的file upload类接受file_name参数以指定正在上载的文件的名称(file_name-如果设置了CodeIgniter,则会将上载的文件重命名为该名称。文件名中提供的扩展名也必须是允许的文件类型-re:):


do\u upload()
只接受一个参数。在调用
$this->upload->initialize
之前,您需要在
$config
数组中编辑
文件名
值。看:这也是我读过的东西。所以,每当有人上传图像时,我都必须更改上传配置?或者在上传后简单地重命名它<代码>重命名($data['full_path'],$data['file_path']。$new_name)如果我重命名它,会更改FTP文件的名称吗?我对用CodeIgniter上传文件完全是新手你说的“FTP文件”是什么意思?CodeIgniter只是围绕PHP的本机文件上载函数(如
move\u uploaded\u file()
)。因此,它只是将文件放在服务器上。如果您重命名它,它将被重命名。FTP只是访问文件的另一种方式。
    $config['upload_path'] = './uploads/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['file_name']    = '100';
    $config['max_width']  = '1024';

    $config['file_name']  = 'myfile.jpg'; // must include extension and extension must be available in allowed_types

    $this->load->library('upload', $config);