Como adicionar arquivos à raiz de um arquivo RAR no Linux

0

Eu tenho um servidor Ubuntu e uso rar com a função exec() . Quando eu quero criar um arquivo RAR de meus arquivos, este programa usa seu caminho no meu arquivo RAR.

Por exemplo, se meu arquivo estiver em /home/user/video/some.flv e meu programa php estiver em /home/user , ele será adicionado como video/some.flv - no entanto, quero que o caminho do arquivo seja some.flv .

Eu também não quero copiar meu arquivo para onde o meu programa de php está, então eu preciso de uma maneira de mudar o caminho. Eu usei isso:

rar rn archive.rar video/some.flv some.flv

... mas quando tento extraí-lo, ele me diz que o rótulo do arquivo está "errado ou danificado". O que eu posso fazer? Eu tenho muitos arquivos grandes em caminhos diferentes e quero que todos eles estejam no caminho raiz do meu arquivo RAR.

    
por Hamid Tanhaei 07.03.2012 / 08:16

2 respostas

1

Você pode tentar adicionar a opção -ep (exclude path) a rar. Então, quando você adicionar novos arquivos, seria algo como:

rar a -ep archive.rar video/some.flv

mas o rar deve adicioná-lo ao arquivo como simplesmente some.flv .

    
por 07.03.2012 / 08:26
0

Eu assumo que o comando que você executa (do seu aplicativo php) é algo como

rar a archive.rar video/some.flv

De acordo com rar --help ,

ep --- Exclude path from names

Adicionando o -ep como assim

rar a -ep archive.rar video/some.flv

faz com que os caminhos sejam omitidos no rar, e todos os arquivos que você adicionou aparecerão na pasta para a qual foram extraídos e não em uma subpasta.

Não consegui descobrir como fazer o mesmo que tar ' -C , mas espero que isso seja o que você precisa.

    
por 07.03.2012 / 08:42

Tags