2017-06-18 6 views
-1

パッケージファイル(Packages.gz)内のすべてのパッケージの名前とバージョンを取得する必要があります。これはCydia debianリポジトリから取得したものです。これはPHPで行う最良の方法を見つけようとしています。PHPを使用してpackages.gzファイル内のすべてのパッケージの名前とバージョンを取得する最善の方法は何ですか?

私は自分自身のために小さなプロジェクトを作っていますが、私が理解できる例は見つけられていません。検索中にこれを見つけ出し、必要なものを取得しますが、PHPではありません。

awk -F": " ' /^Package/{p=$2;getline;v=$2;getline;f=$2;ary[p"\n"v"\n"]} END{for (x in ary) print x}' file 
+1

迅速な汚い方法は、 'システム()'や 'execのを()'を使用します。 – codekaizer

+0

おそらく何かを言う唯一の人に感謝します!今日のヘルプを得るのは難しいです。私はちょうどPHPでそれを行う方法の例が必要です。名前とバージョンだけを取得する方法を理解することができない全体のファイルを印刷することができます。 – RKO1195

答えて

1

あなたが直接ファイルを読むためにPHPでzlibの関数を使用することができます...

<?php 
error_reporting (E_ALL); 
ini_set ('display_errors', 1); 

$file = gzopen('Packages.gz', 'r'); 
while ($line = gzgets($file)) { 
    if (substr($line, 0,8) == 'Package:' || 
      substr($line, 0,8) == 'Version:') { 
     echo $line; 
    } 
} 
+0

大変ありがとう、私はそれを試してみましょう!私はあなたの時間を感謝し、また答えるのを助ける – RKO1195

+0

ありがとうナイジェル私はちょうど新しい何かを学んだ:)私はあなたがgzdecodeを使わずにgzファイルを読むことができたのか分からなかった。私が見て見つけたものと、探しているものと見つけたものすべて。どうもありがとうございました! – RKO1195

+0

これは、このサイトの目的であり、あなたの学習を聞いていいです(いくつかのような過去のコピーではありません:) –

関連する問題