在操作文件系统时,使用exec()
和PHP函数(如rmdir()
,unlink()
等)之间的最佳方法是什么?
答案 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)
使用这些函数的优点是程序保持独立,即它不依赖于外部和操作系统相关的实用程序。