2017-08-23 4 views
0
private function compress($compressPath) 
{ 
    $tarDir= $compressPath . ".tar"; 
    $c = new PharData($tarDir); 
    \FileHandle::getAllFiles($compressPath, $filesList); 
    foreach ($filesList as $file) { 
     $c->addFile($file, basename($file)); 
    } 
    $c->compress(Phar::GZ); 
    unset($c); 
    FileHandle::deleteDir($compressPath); 
    unlink($tarDir); 
} 

Hi. Mon nom de tar est tel que "Name1.0.1pro.tar". Après avoir compressé le fichier tar en gz, le nom de fichier gz a été changé en "Name1.tar.gz" .Comment puis-je garder le même nom?Pourquoi après avoir compressé un fichier tar en gz, le nom du fichier a-t-il été changé?

+0

Les points peuvent prêter à confusion. Essayez avec le trait d'union "-" –

+0

@ ViswanathPolaki, merci. Je connais l'étape suivante. – Lamyee

Répondre

1

Dans le source code de Phar, il semble qu'ils trouvent le nom de fichier en recherchant la première occurrence de '.' (un point). Que diviser sur cela pour obtenir l'extension et le nom de fichier. (note: je ne l'ai pas lu les 3621 lignes complètes de code)

Alors, je vous suggère d'utiliser php rename pour renommer le fichier après qu'il a été créé.