99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

CodeIgniter4 使用文件類

2020-08-17 16:56 更新

CodeIgniter提供了一個(gè)文件類,它將提供 SplFileInfo class 方法和一些額外的便利方法.這個(gè)類是 uploaded files 的基類 和 images.

獲取文件類實(shí)例

通過傳遞構(gòu)造函數(shù)中文件的路徑來(lái)創(chuàng)建新的文件實(shí)例。默認(rèn)情況下,文件不需要存在。但是您可以傳遞一個(gè)附加參數(shù) “true” ,以檢查該文件是否存在,并在不存在的情況下拋出 FileNotFoundException() 的異常提示.

$file = new \CodeIgniter\Files\File($path);

利用Spl

一旦你有一個(gè)實(shí)例,你就可以完成 SplFileInfo 類的全部功能,包括:

echo $file->getBasename();  // 獲取文件的基本名稱


echo $file->getMTime();     // 獲取上次修改的時(shí)間


echo $file->getRealpath();  // 獲取真正的實(shí)際路徑




echo $file->getPerms();     // 獲取文件權(quán)限




if ($file->isWritable())    // 向CSV中寫入幾行數(shù)據(jù).
{
    $csv = $file->openFile('w');


    foreach ($rows as $row)
    {
        $csv->fputcsv($row);
    }
}

新功能

除了 SplFileInfo 類中的所有方法之外,還有一些新的方法.

getRandomName()

您可以生成一個(gè)加密安全的隨機(jī)文件名,其中包含當(dāng)前時(shí)間戳, getRandomName() 方法在移動(dòng)文件時(shí)重命名文件很有用:

$newName = $file->getRandomName();  // 例如: 1465965676_385e33f741.jpg

getSize()

返回上傳文件的大小(以字節(jié)為單位).可以將 ‘kb’ 或 ‘mb’ 作為第一個(gè)參數(shù)傳入方法, 將分別返回千字節(jié)和兆字節(jié)的結(jié)果:

$bytes     = $file->getSize();      // 256901


$kilobytes = $file->getSize('kb');  // 250.880


$megabytes = $file->getSize('mb');  // 0.245

getMimeType()

盡可能在確定文件安全的前提下,使用該方法獲取文件的類型:

$type = $file->getMimeType();


echo $type; // image/png

guessExtension()

使用 getMimeType() 方法確定文件擴(kuò)展名時(shí).如果文件類型未知,將返回 null . guessExtension() 比使用 getMimeType() 來(lái)獲取擴(kuò)展名功能強(qiáng)一點(diǎn).可以配置 application/Config/Mimes.php 中的配置文件來(lái)獲取文件擴(kuò)展名:

$ext = $file->guessExtension();     // 例如:返回圖片類型 'jpg' (沒有句點(diǎn)'.')

移動(dòng)文件

每個(gè)文件可以使用 move() 方法移動(dòng)到新的位置.指定文件的目錄作作為 該方法的第一個(gè)參數(shù):

$file->move(WRITEPATH.'uploads');

默認(rèn)情況下,使用原始文件名.您可以通過第二個(gè)參數(shù)重命名你要移動(dòng)的文件:

$newName = $file->getRandomName();


$file->move(WRITEPATH.'uploads', $newName);
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)