Rumah > pembangunan bahagian belakang > tutorial php > Pustaka operasi fail dalam PHP8.0

Pustaka operasi fail dalam PHP8.0

WBOY
Lepaskan: 2023-05-14 09:58:01
asal
1389 orang telah melayarinya

PHP 8.0 ialah versi terbaru bahasa pengaturcaraan PHP, yang menawarkan banyak ciri baharu dan perpustakaan yang dipertingkatkan. Antaranya, pustaka operasi fail juga telah banyak dipertingkatkan dan diperluaskan, memberikan pembangun kaedah pengendalian fail yang lebih cekap dan fleksibel.

Operasi fail merupakan bahagian penting dalam pembangunan web dan hampir setiap aplikasi web perlu membaca, menulis dan memproses fail. Kadangkala, pembangun perlu menyimpan fail yang dimuat naik ke pelayan, dan kadangkala mereka perlu membaca fail konfigurasi atau fail sumber lain pada pelayan. PHP 8.0 menyediakan banyak fungsi dan kelas baharu yang boleh membantu pembangun memproses fail dengan lebih mudah, cepat dan selamat.

Di bawah ini kami akan memperkenalkan beberapa pustaka operasi fail penting dalam PHP8.0.

1. SplFileInfo

SplFileInfo ialah kelas yang sangat berguna yang menyediakan meta-maklumat tentang sistem fail, seperti nama fail, laluan penuh, saiz fail, akses dan masa pengubahsuaian, dsb. Kelas ini boleh membuat instantiate objek maklumat fail, yang boleh digunakan oleh pembangun untuk mendapatkan maklumat yang berkaitan.

$file = new SplFileInfo('path/to/file.txt');
echo $file->getSize(); // 输出文件大小
echo $file->getMTime(); // 输出最后修改时间
echo $file->isFile() ? '是文件' : '不是文件'; // 判断是否是文件
Salin selepas log masuk

2. FilesystemIterator

FilesystemIterator ialah kelas iterator yang boleh melintasi fail dan folder dalam folder. Fail dan folder boleh ditapis melalui pemalarnya, termasuk: FilesystemIterator::KEY_AS_FILENAME (nama fail), FilesystemIterator::KEY_AS_PATHNAME (laluan penuh), FilesystemIterator::CURRENT_AS_FILEINFO (item semasa sebagai objek SplFileInfo), dan FilesystemIterator:_SECURRENT_currentAS sendiri).

$dirIterator = new FilesystemIterator('path/to/folder');
foreach ($dirIterator as $fileInfo) {
    echo $fileInfo->getFilename()."
"; // 输出文件名
}
Salin selepas log masuk

3. DirectoryIterator

DirectoryIterator ialah satu lagi kelas iterator yang merentasi fail dan folder dalam direktori, serupa dengan FilesystemIterator. Tetapi ia juga menyediakan beberapa maklumat tambahan, seperti jenis fail, kebenaran, pemilik, dsb.

$dirIterator = new DirectoryIterator('path/to/folder');
foreach ($dirIterator as $file) {
    if ($file->isFile()) {
        echo $file->getFilename()."
"; // 输出文件名
    }
}
Salin selepas log masuk

4. RecursiveDirectoryIterator

RecursiveDirectoryIterator ialah kelas iterator yang merentasi fail dan folder secara rekursif dalam direktori, serupa dengan DirectoryIterator, tetapi ia juga boleh merentasi subdirektori. Anda boleh menggunakan kelas RecursiveIteratorIterator untuk melintasi keseluruhan direktori.

$dirIterator = new RecursiveDirectoryIterator('path/to/folder');
$iterator = new RecursiveIteratorIterator($dirIterator);
foreach ($iterator as $file) {
    if ($file->isFile()) {
        echo $file->getFilename()."
"; // 输出文件名
    }
}
Salin selepas log masuk

5. GlobIterator

GlobIterator ialah kelas iterator yang mencari fail berdasarkan corak yang ditentukan. Kad bebas boleh digunakan untuk memadankan fail, seperti "*" untuk mewakili sebarang rentetan, "?" untuk mewakili mana-mana aksara tunggal dan "[ ]" untuk mewakili julat aksara.

$iterator = new GlobIterator('path/to/*.txt');
foreach ($iterator as $file) {
    echo $file->getFilename()."
"; // 输出文件名
}
Salin selepas log masuk

6. SplFileObject

SplFileObject ialah kelas yang mengendalikan fail sebagai objek. Dengan menghidupkan objek SplFileObject, anda boleh membaca dan menulis fail, mengulang kandungan fail, menyemak saiz fail, mendapatkan cap masa fail dan operasi lain.

$file = new SplFileObject('path/to/file.txt');
while(!$file->eof()) {
    echo $file->fgets(); // 输出文件内容
}
$file->fwrite('new content'); // 写入文件内容
Salin selepas log masuk

7. Sistem fail

Sistem fail ialah kelas sistem fail yang menyediakan satu siri kaedah lanjutan untuk mengendalikan fail dan direktori. Ia menyediakan beberapa operasi biasa seperti menyalin, memindahkan, memadam fail, mencipta direktori, dll.

use ComposerUtilFilesystem;

$filesystem = new Filesystem();
$filesystem->copy($source, $target); // 复制文件
$filesystem->move($source, $target); // 移动文件
$filesystem->remove($file); // 删除文件
$filesystem->mkdir($dir); // 创建目录
Salin selepas log masuk

8. finfo

Fungsi finfo digunakan untuk mendapatkan jenis fail. Anda boleh menentukan jenis MIME, sambungan fail, dsb. fail dengan menentukan parameter. Anda boleh menggunakan ini untuk mengesahkan bahawa fail yang dimuat naik adalah daripada jenis yang diperlukan.

$finfo = finfo_open(FILEINFO_MIME_TYPE);
echo finfo_file($finfo, 'path/to/file.png'); // 输出 "image/png"
finfo_close($finfo);
Salin selepas log masuk

Ringkasan

Pustaka operasi fail PHP8.0 menyediakan pelbagai alatan untuk mengendalikan operasi direktori dan fail. Menggunakan perpustakaan ini, pembangun boleh membaca, menulis dan memproses fail dengan cepat dan tepat, yang membantu dengan penggunaan aplikasi dan pengoptimuman prestasi. Daripada SplFileInfo kepada fungsi finfo, kami telah melihat beberapa komponen berkuasa dalam perpustakaan manipulasi fail PHP 8.0. Komponen ini boleh memudahkan proses pembangunan operasi fail dan meningkatkan keteguhan dan kebolehselenggaraan program.

Atas ialah kandungan terperinci Pustaka operasi fail dalam PHP8.0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan