[Perl]PHP vind Perl script niet

Pagina: 1
Acties:
  • 28 views sinds 30-01-2008

  • Nimoleda
  • Registratie: Augustus 2005
  • Laatst online: 10-04 14:39
Hallo,

Ik heb een dvd script gemaakt, alleen de scripts communiceren niet met elkaar, ik denk dat er een pad fout is ingevult...

Alles dik gedrukt is is volgens mij fout

Heeft iemand enig idee?

mvg Aj Viasco

Het php Script
";
ob_flush();
flush();
for ($i=0;$i<500;$i++) {
print "";
}

$cmd = "echo \"".$_POST["titles"]."\" | ..title2dvddb.pl --userid ".intval($_COOKIE["userid"]);
$cmd .= " 2>&1 ";
system($cmd);
print "

".input_button("","Terug !","","onclick='self.parent.location.href=\"http://dvd.primaat.com/\"'"); print "

"; exit; } else { $output.=' '; $output.="Quickly add new titles to your movie list.\n"; $output.="Enter the official movie titles, on per line.\n
You can also use the IMDb code instead.

\n"; $output.=form_begin("quickadd.php","POST","", "", "target='importstatus'" ); $rows=tr(td("IMDb titles / codes:","","","RIGHT","TOP").td(textarea("titles","",8,40,"",'id="titles"'),"","","LEFT")); $rows.=tr(td(input_button("importbutton", "Add Titles", "", "id='importbutton' onClick='go(this);'"),"","","CENTER","","2")); $rows.=tr(td('',"","","CENTER","","2")); $output.=table($rows,0,2,0,"100%"); $output.=form_end(); } $content["body"] =& $output; dopage($content); ?>
Dit is het Perl script
#!C:/perl/bin/perl.exe

use strict;
use IMDB::Film;
use Data::Dumper;
use DBI;
use LWP::Simple;
use Getopt::Long;

$|++;

my $userId = 1;

GetOptions(
'userid:i' => \$userId
);

my $config = {
userid => $userId,
username => "dvddb",
password => '123321',
dbname => "dvddb",
delay => 10,
coverDir => '/www/covers/',
coverUrl => '/covers'
};

my $dbh = DBI->connect("DBI:mysql:".$config->{dbname}, $config->{username}, $config->{password});
my $genres = _getGenres();

# mediaId based on user setting
my $sth = $dbh->prepare("select value from userprefs where userid=$userId and item='defmedia'");
$sth->execute;
my ($mediaId) = $sth->fetchrow_array;
$sth->finish;

while (my $title = <>) {
$title=~s/\s+$//;
next unless ($title =~ /\S+/);
print "Looking up '$title' on IMDB\n";
my $var = _searchMovie($title);
print "Found movie '".$var->{title}."' ...\n";
_insertMovie($var);
print "Waiting ".$config->{delay}." seconds....\n\n";
sleep $config->{delay};

}

#-------------------------------------------------------------------------
sub _searchMovie {
my $title = shift;
my $isRecursive = shift;
my $imdb = new IMDB::Film(crit => $title);
my $var = {
mediaid => $mediaId || 1,
userid => $config->{userid},
};
$var->{title} = scalar($imdb->title());
my $code = $imdb->code();
if ($var->{title} eq '' && $code ne '' && ! $isRecursive) {
return _searchMovie($code);
}

$var->{reldate} = scalar($imdb->year());
$var->{comments} = scalar($imdb->plot());
my $rating = scalar($imdb->rating());

# Rating calculation by Boelie
if ($rating <= 0) {
$var->{rating} = 0;
} elsif ($rating < 5) {
$var->{rating} = 1;
} elsif ($rating < 6) {
$var->{rating} = 2;
} elsif ($rating < 7) {
$var->{rating} = 3;
} elsif ($rating < 8) {
$var->{rating} = 4;
} elsif ($rating < 8.5) {
$var->{rating} = 5;
} else {
$var->{rating} = 6;
}
$var->{runtime} = scalar($imdb->duration());
if($imdb->cover() ne "") {
getstore(scalar($imdb->cover()), $config->{coverDir} . '/' . $imdb->code());
$var->{video} = '[img]"'.$config->{coverUrl}[/img]code().'"/>';
}
$var->{region} = 0;

my @genreIds;
foreach my $genre (@{$imdb->genres()}) {
unless (exists $genres->{$genre}) {
_setGenre($genre);
}
push(@genreIds,$genres->{$genre});
}
$var->{genreid} = join(",",@genreIds);

my @directors;
foreach (@{$imdb->directors}) {
push(@directors, $_->{name});
}
$var->{director} = join(",",@directors);

return $var;
}

#---------------------------------------------------------------------------------------
sub _setGenre {
$dbh->do("insert into genre(name) values (".$dbh->quote(shift).")");
$genres = _getGenres();
}

#---------------------------------------------------------------------------------------
sub _getGenres {
my %hash;
my $sth = $dbh->prepare("select name, id from genre");
$sth->execute;
while (my @data = $sth->fetchrow_array) {
$hash{$data[0]} = $data[1];
}
$sth->finish;
return \%hash;
}

#---------------------------------------------------------------------------------------
sub _insertMovie {
my $var = shift;
my ($sql, @columns, @values);
foreach my $key (keys %$var) {
push(@columns, $key);
push(@values, $dbh->quote($var->{$key}));
}
unshift(@columns, 'insertdate');
unshift(@values, 'now()');
$sql = "insert into movie (".join(",",@columns).") values (".join(",",@values).")";
$dbh->do($sql);
if ($!) {
print "Can't add movie to the database. Error: $!\n";
} else {
print "Movie successfully added to the database.\n";
}
}

[ Voor 49% gewijzigd door Nimoleda op 09-09-2005 09:54 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 30-04 15:31
Hoi,
Het is niet de bedoeling dat je hier met een korte omschrijving en een lap code jouw probleem kunt posten, en dan gewoon hopen dat iemand het voor jou gaat oplossen.

Als je denkt dat je een path verkeerd hebt ingevuld, dan is het toch een kleintje voor jou om dat eens van dichterbij te gaan bekijken, en eens eea uit te testen ?

Zoals het topic er nu staat, is het gewoon 'hier mijn code, fix het voor mij, dank u', en dergelijke topics laten we hier niet toe.
Doe zelf ook een beetje moeite om het probleem op te lossen, ipv te verwachten dat iemand anders zo lief zal zijn om het voor jou uit te zoeken.

https://fgheysels.github.io/


Dit topic is gesloten.