这是Perl代码...将perl代码转换为php? (2)
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Date;
my $taxon = $ARGV[0]; # Taxonomy identifier of organism.
my $query = "http://www.uniprot.org/uniprot/?query=organism:$taxon&format=fasta&include=yes";
my $file = $taxon . '.fasta';
my $agent = LWP::UserAgent->new;
my $response = $agent->mirror($query, $file);
if ($response->is_success) {
my $results = $response->header('X-Total-Results');
my $release = $response->header('X-UniProt-Release');
my $date = sprintf("%4d-%02d-%02d", HTTP::Date::parse_date($response->header('Last-Modified')));
print "Downloaded $results entries of UniProt release $release ($date) to file $file\n";
}
elsif ($response->code == HTTP::Status::RC_NOT_MODIFIED) {
print "Data for taxon $taxon is up-to-date.\n";
}
else {
die 'Failed, got ' . $response->status_line .
' for ' . $response->request->uri . "\n";
}
我曾尝试转换为PHP ... 仍有都是错误的代码行:在else if语句.. 如果您发现其他错误,请在这里发表评论吧...
这里是我到目前为止已经试过
$taxon = $ARGV[0]; # Taxonomy identifier of organism.
$query = "http://www.uniprot.org/uniprot/?query=organism:$taxon&format=fasta&include=yes";
$file = $taxon . '.fasta';
$response = $agent->mirror($query, $file);
if ($response->is_success) {
$results = $response->header('X-Total-Results');
$release = $response->header('X-UniProt-Release');
$date = sprintf("%4d-%02d-%02d", date_parse($response->header('Last-Modified')));
print "Downloaded $results entries of UniProt release $release ($date) to file $file\n";
}
elsif ($response->code == HTTP::Status::RC_NOT_MODIFIED) {
print "Data for taxon $taxon is up-to-date.\n";
}
else {
die ('Failed, got ' . $response->status_line .
' for ' . $response->request->uri . "\n");
}
嗯,你需要找到可比的PHP库来替换Perl代码使用的库。这行'HTTP :: Status :: RC_NOT_MODIFIED'对PHP没有意义。 – quickshiftin 2012-02-20 17:27:35
@quickshiftin这是'304未修改'。有了库,你可以解析它。看到我的答案。 – 2012-02-20 17:47:43
谢谢你..我仍然在寻找替换 – ansherina 2012-02-20 17:51:00