使用 PHP 获取 packages.gz 文件中所有包的名称和版本的最佳方法是什么?
What's the best way to get name and version of all packages in a packages.gz file with PHP?
我需要从我拥有的 Cydia debian 存储库中获取 Packages 文件 (Packages.gz
) 中所有软件包的名称和版本,我正在尝试找到最佳方法PHP。
我是 PHP 的新手,我在为自己做一个小项目时学习它,但一直找不到我能理解的例子。我在搜索时发现了这个,它得到了我需要的东西,但它不是 PHP.
awk -F": " ' /^Package/{p=;getline;v=;getline;f=;ary[p"\n"v"\n"]} END{for (x in ary) print x}' file
您可以使用 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;
}
}
我需要从我拥有的 Cydia debian 存储库中获取 Packages 文件 (Packages.gz
) 中所有软件包的名称和版本,我正在尝试找到最佳方法PHP。
我是 PHP 的新手,我在为自己做一个小项目时学习它,但一直找不到我能理解的例子。我在搜索时发现了这个,它得到了我需要的东西,但它不是 PHP.
awk -F": " ' /^Package/{p=;getline;v=;getline;f=;ary[p"\n"v"\n"]} END{for (x in ary) print x}' file
您可以使用 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;
}
}