我只想在PHP的帮助下'rar'一个文件夹。有两种方法可以做到这一点。一个是通过shell_exec
或exec
,虽然shell_exec
和exec
已在服务器上启用并用于其他命令,但它不适用于我。
另一种方法是通过.sh
文件,但我不知道如何正确使用它:(
我需要一些适用于此的代码。
我正在尝试使用此命令:
rar a -v100m -m0 /home/admin/somefolder.rar somefolder-to-rar
这是Ubuntu 9.10
答案 0 :(得分:1)
如果其他shell命令工作,那么rar应该。
是机器路径上的rar.exe吗?或者您是否在命令中指定了rar.exe的完整路径?
答案 1 :(得分:1)
检查工作目录,并尝试使用passthru
显示输出中的任何错误
答案 2 :(得分:0)
使用php,您可以使用反引号(``)来执行命令(from php.net)
我不确定rar会是什么,但是zip会是:
<?php
`cd $dirToZip; zip -pr $nameOfZipFile *`
?>
假设您的命令正确并且可以从cli访问rar,则反引号应该有效。
答案 3 :(得分:0)
您可能存在权限问题。检查以确保运行的任何用户PHP都有权执行RAR。
另外,请遵循Sam关于使用完整路径的建议。您的标准路径可能特定于您的用户帐户,这可能与PHP用户不同。