Beitrag von Marco (840 Beiträge) am Donnerstag, 13.April.2006, 06:48.
Nochmal Lizenz: get ($URL) klappt nicht mehr...
Meine Anpassung von der Miet- auf die Lizenzversion ist nun fast abgeschlossen. Ich arbeite gerade an dem Problem, dass der nachfolgende Code auf meiner Mietversion läuft unter der Lizen aber nicht.
Dieser Code soll bei einem Upload automatisch die Dateigröße der hochgeladenen Datei in die DB schreiben. Ich bekomme als Dateigröße aber jetzt immer "0".
----
<html><head>
<title>baseportal Datenbank</title>
</head><body bgcolor=ffffff>
<perl>
if (%_put)
{
if ($_filec_datei == 2)
{
$x = get ("$_files/$_put{datei}");
out "X: $x<br>";
$filesize = length($x); # Ermittle die Dateigrösse
$filesize = sprintf('%.02f',$filesize/1024);
$_put{timestamp}=datum(jetzt);
$_put{filesize}=$filesize;
out "Aktualisiere: $_put{datei_timestamp} $_put{filesize}";
}
}
</perl>
<do action=all db=xx>
</body></html>
-----
Die Ausgabe out "X: $x<br>"; ist lediglich eine debug-Ausgabe. In meiner Mietversion wird dort der Dateiinhalt ausgegeben und in der Lizentversion wird dort "1" ausgegeben. Liefert get (url) in der Lizenzversion nur noch einen boolean-Wert zurück (Datei vorhanden / nicht vorhanden)?
Marco
Antworten
Beitrag von hempelr (1976 Beiträge) am Donnerstag, 13.April.2006, 07:56.
Re: Nochmal Lizenz: get ($URL) klappt nicht mehr...
Antworten
Beitrag von Marco (840 Beiträge) am Donnerstag, 13.April.2006, 08:22.
Re: Nochmal Lizenz: get ($URL) klappt nicht mehr...
ne, klappt leider nicht :-(
In $x steht danach nun gar nix mehr drin... Es kommt aber auch keine Fehlermeldung.
Wie kann ich denn überprüfen, ob das LWP-Modul installiert ist?
Marco
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 13.April.2006, 10:57.
Re: Nochmal Lizenz: get ($URL) klappt nicht mehr...
schreib in ein perl-script
use LWP::Simple;
wenn ne Fehlermeldung kommt, isses nicht drin ;)
das script listet dir alle installierten module auf:
#!/usr/bin/perl
print "<TABLE WIDTH=750><TR><TD colspan=3><FONT FACE=Arial COLOR=RED>Vorhandene Perl-Module:</FONT></TD></TR>\n";
use File::Find;find(\&wanted,@INC);sub wanted {$count = 0;if ($File::Find::name =~ /\.pm$/) {open(MODFILE,$File::Find::name) || return;while(<MODFILE>) {if (/^ *package +(\S+);/) {push (@foundmods, $1);last;}}}}
$message="$message\n\nPerl-Module:\n";
my $count=0;while (@foundmods) {
$count++;my $mod=shift(@foundmods);
if ($count == 1) {print "<TR>";}
if ($count <= 3) {print "<td bgcolor=\"#D1DAE0\"><FONT FACE=Arial SIZE=2>$mod</FONT></TD>";}
if ($count == 3) {print "</TR>\n";$count=0;}
}#///
print "</TABLE>\n";
kann das sein, das bei get mit http:// gearbeitet werden muß? ich bilde mir ein in $_files steht nur der pfad
Antworten
Beitrag von hempelr (1976 Beiträge) am Freitag, 14.April.2006, 10:59.
Re: Nochmal Lizenz: get ($URL) klappt nicht mehr...
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Samstag, 15.April.2006, 12:53.
Re: Nochmal Lizenz: get ($URL) klappt nicht mehr...
Antworten
Beitrag von Marco (840 Beiträge) am Dienstag, 18.April.2006, 09:20.
Ich verzweifle gerade -> Re: Nochmal Lizenz: get ($URL) klappt nicht mehr...
Antworten
Beitrag von Martin Schobert (18 Beiträge) am Dienstag, 18.April.2006, 12:01.
Re: Ich verzweifle gerade -> Re: Nochmal Lizenz: get ($URL) klappt nicht mehr...
Antworten
Beitrag von Marco (840 Beiträge) am Dienstag, 18.April.2006, 13:25.
Re: Ich verzweifle gerade -> Re: Nochmal Lizenz: get ($URL) klappt nicht mehr...
Antworten
Beitrag von Pouraga (1396 Beiträge) am Dienstag, 18.April.2006, 14:20.
Re: Ich verzweifle gerade -> Re: Nochmal Lizenz: get ($URL) klappt nicht mehr...
Antworten
Beitrag von Marco (840 Beiträge) am Mittwoch, 19.April.2006, 08:35.
Re: Ich verzweifle gerade -> Re: Nochmal Lizenz: get ($URL) klappt nicht mehr...
Hallo Pouraga,
danke für den Hinweis, es klappt mit stat();
...ich muß mich erst an die neue Lizenz-Freiheit gewöhnen ;-)
Ein wenig ungut bleibt das Gefühl doch, weil die anderer Variante auch hätte klappen müssen... hoffentlich holt mich das nicht später irgendwann einmal an anderer Stelle ein :-(
Noch ein Hinweis zu "$_files": Der Inhalt der Variable ist lediglich "/files". Wieso soll ich diese globale Variable nicht benutzen? Ich habe beim Umstieg von Miete auf Lizenz gemerkt, dass ich viel zu wenig mit Variablen gearbeitet habe... Ich verändere "$_files" ja nicht, sondern benutze lediglich Ihren Inhalt. Normalerweise sollte "$_files" keine Variable sein, sondern eine Konstante, aber die gibt es ja in perl leider nicht.
mfg
Marco
Antworten