获取 CodeIgniter 4 上传文件的文件名的方法

Posted

技术标签:

【中文标题】获取 CodeIgniter 4 上传文件的文件名的方法【英文标题】:Way to get filename of CodeIgniter 4 Uploaded file 【发布时间】:2022-01-22 19:46:31 【问题描述】:

默认情况下,如果文件已移动,CodeIgniter 4 的 move 函数会返回 true。 但是如果一个文件已经存在,它会在文件名中添加一个带有计数器的分隔符,因为我只有 true 我没有新的文件名,我想将它存储在数据库中。

我可以扩展 UploadedFile 类(老实说,这对我来说非常困难),但我想知道文件名是非常直观的,所以大多数情况下都有更简单的方法。

【问题讨论】:

它在返回 true 之前将 $destination 的基本名称存储在 $this->name 中,所以 - 之后只需读取该属性的值...? 【参考方案1】:

一个小小的修正:不是move function

对于File 实例,它应该是move method

根据您要获取的名称,有三种可用的方法:

getName()

You can retrieve the original filename provided by the client with the getName() method. This will typically be the filename sent by the client, and should not be trusted. If the file has been moved, this will return the final name of the moved file:

$name = $file->getName();


getClientName()

Always returns the original name of the uploaded file as sent by the client, even if the file has been moved:

$originalName = $file->getClientName();


getTempName()

To get the full path of the temp file that was created during the upload, you can use the getTempName() method:

$tempfile = $file->getTempName();

查看CI4 Documentation 了解更多信息。

【讨论】:

以上是关于获取 CodeIgniter 4 上传文件的文件名的方法的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter上传库获取拇指文件名

将表单文件附加到电子邮件,Codeigniter

codeigniter 4 多文件验证

使用 php 中的每个循环上传 zip 档案会导致 codeigniter 中 zip 文件中的 zip 档案重复

文件上传需要大量时间 Codeigniter

CodeIgniter - 文件上传需要验证