Php 如何以面向对象的方式处理文件?

Php 如何以面向对象的方式处理文件?,php,oop,symfony,symfony-2.1,Php,Oop,Symfony,Symfony 2.1,我需要复制、移动和删除文件 是否有用于此的组件或类 我发现了这个,但它只会移动: 或者我应该坚持使用本机函数?PHP有很多函数来处理文件系统 按照其名称的含义执行-复制文件 实际重命名和/或移动文件。linux用户将熟悉这种行为,如mv命令 用于删除文件 有一整套专门用于文件系统操作的功能 当您在代码中实现这些功能时,以及如何在代码中实现这些功能时,面向对象的方法将发挥作用。关于Symfony框架,您可以查看 您发布的链接是HttpFoundation中的一个类,仅用于上载的文件。您可以启

我需要复制、移动和删除文件

是否有用于此的组件或类

我发现了这个,但它只会移动:


或者我应该坚持使用本机函数?

PHP有很多函数来处理文件系统

  • 按照其名称的含义执行-复制文件
  • 实际重命名和/或移动文件。linux用户将熟悉这种行为,如
    mv
    命令
  • 用于删除文件
有一整套专门用于文件系统操作的功能



当您在代码中实现这些功能时,以及如何在代码中实现这些功能时,面向对象的方法将发挥作用。

关于Symfony框架,您可以查看


您发布的链接是HttpFoundation中的一个类,仅用于上载的文件。

您可以启动自己的帮助器类来包装过程命令吗?或者,您可以浏览一些流行的文件系统助手类框架或类似的框架

class File {

    public static function exists($file) {
        return file_exists($file);
    }

    public static function copy($file, $destination) {
        // checks
        return copy($file, $destination);
        // error handling
    }

    public static function move($file, $destination) {
        return rename($file, $destination);
    }

    public static function delete($file) {
        return unlink($file);
    }
}

File::copy( 'test.txt', 'copy.txt' );

@我同意。大写字母必须放在需要的地方:P谢谢您的编辑;)当然,但这不是面向对象的,我也不确定是否应该在Symfony2项目中使用它。例如:您可以使用exec()执行命令,但随后您意识到在Symfony中有更好的方法来执行命令。这就是任何PHP代码(最终)操作文件的方式。包装器以及如何使用包装器使其成为面向对象的。由你决定!:)听着,我不想争论,但是如果已经有一个包装器来改进这一切(例如:抛出异常而不是警告/致命错误),我想知道。我知道这只是另一层抽象。