originphp/filesystem 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

originphp/filesystem

Composer 安装命令:

composer require originphp/filesystem

包简介

OriginPHP Filesystem

README 文档

README

license build coverage

Filesystem includes the File and Folder classes for working with your filesystem.

Installation

To install this package

$ composer require originphp/filesystem

File

he file utility wraps some important functions in an easy to use and predictable way.

To use the File utility add the following to the top of your file.

use Origin\Filesystem\File

Info

As of 2.0 path was renamed to directory and filename was renamed to name

To get information about a file

$info = File::info('/var/www/config/insurance.csv');

Which will return an array like this

Array
(
    [name] => insurance.csv
    [directory] => /var/www/config
    [timestamp] => 1560067334
    [size] => 1878
    [extension] => csv
    [type] => text/plain
)

Read

To read a file

$contents = File::read('/path/somefile');

Write

To write to a file

File::write('/path/somefile','data goes here');

Append

To append contents to a file

File::append('/path/somefile','and here.');

Delete

To delete a file

File::delete('/path/somefile');

Exists

To check if file exists

$result = File::exists('/path/somefile');

Tmp

When needing to work with temporary files, use tmp, this will create the file, put the contents and return to you the name of the file with path.

$tmpFile = File::tmp('Some temp data');

Copy

To copy a file

File::copy('/path/somefile','somefile-backup');
File::copy('/path/somefile','/another_path/somefile');

Rename

To rename a file

File::rename('/path/somefile','new_name');

Move

To move a file

File::move('/path/somefile','/another_path/somefile');

Permissions

Get Permissions

To get the permissions of a file

$permissions = File::perms('/path/somefile'); // returns 0744

Changing Permissions (chmod)

To change the permissions of a file.

File::chmod('/path/somefile','www-data');

Getting the owner of the file

$owner = File::owner('/path/somefile'); // returns root

Changing Ownership (chown)

To change the ownership of a file

File::chown('/path/somefile','www-data');

Getting the group

To get the group that the file belongs to.

$group = File::group('/path/somefile'); // returns root

Changing Group (chgrp)

To change the group that the file belongs to.

File::chgrp('/path/somefile','www-data');

Folder

The folder utility helps you work with folders on your file system.

To use the Folder utility add the following to the top of your file.

use Origin\Filesystem\Folder

Create

To create a folder

Folder::create('/var/www/new_folder');

To create a folder recursively

Folder::create('/var/www/level1/level2/level3/new_folder',['recursive'=>true]);

To set the permissions on the newly created folder

Folder::create('/var/www/new_folder',['mode'=>0755]);

Delete

To delete a folder

Folder::delete('/var/www/bye-bye')

To delete a folder recursively, including all files and sub directories.

Folder::delete('/var/www/docs',['recursive'=>true])

Exists

To check if a directory exists

$result = Folder::exists('/path/somedirectory');

List

As of version 2.0 released 26.09.20 list results are different, path now includes the filename.

To list all contents of a directory

$results = Folder::list('/path/somedirectory');

This will return an array of arrays of FileObjects

[
    Origin\Filesystem\FileObject Object
    (
        'name' => 'foo.txt',
        'directory' => '/var/www/my_directory',
        'path' =>  '/var/www/my_directory/foo.txt',
        'extension' => 'txt',
        'timestamp' => 14324234,
        'size' => 1234,
        'type' => 'file'
    )
]

When the FileObject is converted to a string it will become a path e.g. /var/www/my_directory/foo.txt.

foreach(Folder::list('/data') as $file){
    $contents = file_get_contents($file->path); // or (string) $file
}

You can also get the listing recursively

$results = Folder::list('/path/somedirectory',['recursive'=>true]);

To include directories in the results

$results = Folder::list('/path/somedirectory',['directories'=>true]);

Copy

To copy a directory

Folder::copy('/path/somedir','somedir-backup');
Folder::copy('/path/somedir','/another_path/somedir');

Rename

To rename a directory

Folder::rename('/path/somedir','new_name');

Move

To move a directory

Folder::move('/path/somedir','/another_path/somedir');

Permissions

Get Permissions

To get the permissions of a directory.

$permissions = Folder::perms('/path/somedir'); // returns 0744

Changing Permissions (chmod)

To change the permissions of a directory

Folder::chmod('/path/somedir','www-data');
Folder::chmod('/path/somedir','www-data',['recursive'=>true]); // recursive

Getting the owner of a directory

$owner = Folder::owner('/path/somedir'); // returns root

Changing Ownership (chown)

To change the ownership of a directory

Folder::chown('/path/somedir','www-data');
Folder::chown('/path/somedir','www-data',['recursive'=>true]);

Getting the group

To get the group that a directory belongs to.

$group = Folder::group('/path/somedir'); // returns root

Changing Group (chgrp)

To change the group that the folder belongs to.

Folder::chgrp('/path/somedir','www-data');
Folder::chgrp('/path/somedir','www-data',['recursive'=>true]);

统计信息

  • 总下载量: 2.34k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 5
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-10-12

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固