2016-10-03 46 views
0

我有這樣的代碼:不工作PHP郵編正常

$nomeZip = str_replace(".result", ".result.tar.gz", $pathAndFileName);    
$a = new PharData($nomeZip);     
$a->addFile($pathAndFileName);      
$a->compress(Phar::GZ);      
unlink($nomeZip); 

其中:

$pathAndFileName = C:/wamp/www/prove/WORKSPACE/7d5e0799/SelectResult1.result 
我的文件夾中

我得到2個文件:

  1. SelectResult1.result.tar.gz

  2. SelectResult1.tar.gz

的第一個文件具有原始文件相同的尺寸(壞)

第二個文件尺寸是好的,但我想只有一個文件,這個名字: SelectResult1.result.tar.gz和effectly拉鍊

回答

1

根據documentationcompress默認添加了.gz擴展名。所以只是不要將.gz添加到您的$nomeZip

此外,你需要取消與相應.tar前破壞PharData對象:

unset($a); 
unlink($nomeZip); 
+0

您的解決方案是確定。雖然我獲得SelectResult1.tar.gz而不是SelectResult1.result.tar.gz – mydb

+0

@mydb有趣的是,似乎'$ a-> compress(Phar :: GZ)'刪除文件名中第一個點之後的所有內容,然後追加'.tar.gz'。解決方法是在Phar操作完成後更改文件名。或者使用'$ a-> compress(Phar :: GZ,'.result.tar.gz');'。 – RonaldPK