操纵文件系统

时间:2011-09-16 08:42:39

标签: php filesystems

在操作文件系统时,使用exec()和PHP函数(如rmdir()unlink()等)之间的最佳方法是什么?

5 个答案:

答案 0 :(得分:5)

rmdir()等函数适用于每个操作系统,但如果执行exec()命令,则命令可能只与一个操作系统兼容

答案 1 :(得分:4)

我建议使用本机PHP函数,因为外部命令在许多平台上可能有所不同。 (例如linux / win)

答案 2 :(得分:3)

隔离的 将比启动shell /调用进程执行某些操作更快。它们还可以跨不同的操作系统移植,即使在Web服务器无法访问标准shell命令(例如由于chroot /权限)的情况下也可以使用。

然而,对于特别复杂的操作,使用外部命令/过程可能要快得多,并且需要的编程工作量要少得多,例如考虑如何在php中实现它:

find /some/path -iname \*.files -exec grep '*.tgz' | \
    xargs tar -tvzf | grep targetfile

答案 3 :(得分:2)

你为什么要用exec?最好的方法是使用本机php函数来操作文件系统。

只有当您需要更复杂的操作时,才可以尝试执行命令。但在这种情况下,也许一个bash或python脚本可以完成这项工作,只使用exec来调用该脚本来完成它。

答案 4 :(得分:1)

使用这些函数的优点是程序保持独立,即它不依赖于外部和操作系统相关的实用程序。