我有一台 Ubuntu 服务器,并使用rar
该exec()
功能。当我想从我的文件创建 RAR 存档时,该程序会使用我的 RAR 存档中的路径。
例如,如果我的文件在/home/user/video/some.flv
并且我的 php 程序在/home/user
,它将被添加为video/some.flv
— 但是我希望文件路径为some.flv
。
我也不想将文件复制到 php 程序所在的位置,因此我需要一种方法来更改路径。我使用了这个:
rar rn archive.rar video/some.flv some.flv
… 但当我尝试提取它时,它告诉我文件标签“错误或损坏”。我该怎么办?我有很多大文件位于不同的路径中,我想让它们全部位于我的 RAR 存档的根路径中。
答案1
您可以尝试将-ep
(排除路径)开关添加到 rar。因此,当您添加新文件时,它将类似于:
rar a -ep archive.rar video/some.flv
但 rar 应该将其简单地添加到档案中some.flv
。
答案2
我假设你执行的命令(从你的 php 应用程序)是这样的
rar a archive.rar video/some.flv
根据rar --help
,
ep --- 从名称中排除路径
添加-ep
类似
rar a -ep archive.rar video/some.flv
导致 rar 中的路径被省略,并且您添加的所有文件将显示在它们被解压到的文件夹中,而不是在子文件夹中。
我不知道如何做与 相同的事情tar
,-C
但我希望这能满足您的需要。