atk14/files

用于基本文件操作的PHP类

v1.6.4 2023-09-12 13:04 UTC

This package is auto-updated.

Last update: 2024-09-07 16:08:49 UTC


README

Build Status

用于基本文件操作的PHP类。

基本用法

Files只是一组静态函数。

$content = Files::GetFileContent("/path/to/a/file");

递归删除目录

$items_deleted = Files::RecursiveUnlinkDir("/path/to/a/dir");

确定文件类型

$mime_type = Files::DetermineFileType("/path/to/a/file"); // "image/jpg"

将内容写入临时文件

$temp_filename = Files::WriteToTemp($some_content);

等等。

用法

目录创建

Files::Mkdir("/path/to/a/directory/"); // creates directory "/path/to/a/directory"
Files::Mkdir("/path/to/another/directory"); // creates directory /path/to/another/directory

Files::MkdirForFile("/path/to/a/file"); // creates directory "/path/to/a"

查找文件

$all_files_in_a_dir = Files::FindFiles("./dir"); // ["./dir/image.jpg", "./dir/image.png", "./dir/subdir/image2.jpg", "./dir/subdir/readme.txt"]
$files_right_in_a_dir = Files::FindFiles("./dir", ["maxdepth" => 1]); // ["./dir/image.jpg", "./dir/image.png"]

// filtering files
$images = Files::FindFiles("./dir/", ["pattern" => '/\.(png|jpg)$/']); // ["./dir/image.jpg", "./dir/image.png", "./dir/subdir/image2.jpg"]

// finding recently updated log files
$log_files = Files::FindFiles("./log/", [
  "pattern" => '/\.log$/', // only *.log files
  "min_mtime" => time() - 30 * 60 // not older than 30 minutes 
 ]);

临时文件

// by the TEMP constant the temporary directory can be specified
define("TEMP","/path/to/temp/");

echo Files::GetTempDir(); // "/path/to/temp/";

$filename = Files::GetTempFilename(); // "/path/to/to/temp/files_tmp_5e060486c4e507.42603767"
$filename = Files::GetTempFilename("image_scaling"); // "/path/to/temp/image_scaling5e060493067748.51409402";

$filename = Files::WriteToTemp($content); // "/path/to/temp/files_tmp_5e0602ce153bd8.40620979"

文件类型

Files::DetermineFileType("path/to/a/file"); // "image/jpeg"

// safe file type determination on just uploaded file
Files::DetermineFileType($_FILES["file"]["tmp_name"],["original_filename" => $_FILES["file"]["name"]]);

安装

使用Composer安装Files。

cd path/to/your/project/
composer require atk14/files dev-master

许可证

Files是免费软件,根据MIT许可证条款发布