Bir phar dosyasının içeriğini incelemek ve bazı sıkışma sonuçlarıyla çalışmak için PharData
sınıfının extractTo
yöntemini kullanıyorum. Bayt seviyesinde dedektif çalışmamın sınırlarına ulaştım ve buradaki birisinin bana yardım etmesine yardımcı olabileceğini umuyordum.Hangi Dosya Biçimi PharData :: extractTo Dosyalarını Ayıklıyor mu?
Detaylar izleyin ama genel olarak konuşursak: Ben PharData::extractTo
ile benim arşiv dosyaları ayıklamak, dosyalar bir bzip
varyant olarak appeart çıkmak, ancak bzip2
komut bunları sevmez. Bu normal phar
davranış mı, yoksa belirli bir arşivle ilgili bir sorun mu var? (veya kullanıyorum PHP/OS kombinasyonu). Düz metin dosyalarını phar arşivinden çıkarmanın bir yolu var mı - yoksa düz metin varsayılan mı olmalı ve garip sistem davranışına mı bakıyorum? Benim OS 10.6.8 Açık komutunu
$phar = new Phar('n98-magerun.phar');
$phar->extractTo('/tmp/n98-magerun');
çalıştırdığınızda
Özellikle, Intel Mac PHP 5.3.6 yerleşik, arşiv başarıyla/tmp/N98-magerun içine ayıklanır kullanarak tabanlı Klasör.
Ben can be found here ayıklanması ediyorum arşivi.
BBEdit'te ayıklanan herhangi bir metin dosyasını açarsam, doğru içeriği görüyorum. Böyle QuickLook vi
veya cat
gibi diğer araçları kullanmak Ancak
, ben ikili verileri görmek. Dosyaların içeriği üzerinden ack
/grep
'u denerken bunu fark ettim ve beklediğim sonuçları alamadım. Ben dosya üzerinde file
komutunu kullanırsanız
, bunun bir bzip
dosya olduğunu rapor veriyor.
$ file MIT-LICENSE.txt
MIT-LICENSE.txt: bzip2 compressed data, block size = 400k
ve bir onaltılık editörü ile dosyayı inceleyen dosyası aşağıdaki hata
$ bzip2 -d MIT-LICENSE.txt
bzip2: Can't guess original name for MIT-LICENSE.txt -- using MIT-LICENSE.txt.out
bzip2: Compressed file ends unexpectedly;
perhaps it is corrupted? *Possible* reason follows.
bzip2: No such file or directory
Input file = MIT-LICENSE.txt, output file = MIT-LICENSE.txt.out
It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.
You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.
bzip2: Deleting output file MIT-LICENSE.txt.out, if it exists.
yılında bzip2
sonuçlarla dosya sıkıştırması çalışılırken, Ancak bir BZ
başlığı ile başlar doğruladı
ve bzcat
dosyasını başarılı bir şekilde yapabilirim. Bu bir bzip2
dosyasıdır bu
bzcat: Compressed file ends unexpectedly;
perhaps it is corrupted? *Possible* reason follows.
bzcat: Undefined error: 0
Input file = MIT-LICENSE.txt, output file = (stdout)
It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.
You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.
http://php.net/manual/en/phardata.extractto.php? Eski Mac sistemlerinde 'pax' arşiv formatı hakkında yazıyor. –
Bunu gördüm, ancak nasıl uygulandığından emin değilim (eğer). PHP'nin bazı eski Mac OS sürümlerinin pax stili phar arşivlerini oluşturduğunu, ancak 'extractTo' sadece ustar varyantının arşivden kaldırılmasını desteklediğini söylüyor. Arşivi üretmediğim ve arşivin doğru şekilde çıkarıldığından, alakalı olduğundan emin değilim. (Yani, ben tam olarak emin değilim: Daha önce phar şeyler etrafında hacklemedim) –
Üzgünüz, yanlış anladım - ilk okumadan sonra bazı sistemler olarak anladım (ve Mac OS kullanıyorlar) dedektif çalışma için phar özleri phar ayıklar ... –