1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
my $host = "ftp.......";
my $user = "name";
my $password = "pwd";
my $file = "RMA".$FORM{'auftragnr'}.".pdf";
my $file2 = "test500.pdf";
$ftp = Net::FTP->new($host, Passive => 1, Debug => 1) or die "error connecting\n";
$ftp->login($user,$password);
$ftp->cwd("/etikett/") or die "Verzeichniswechsel fehlerhaft ", $ftp->message;
my @files=$ftp->ls();
#foreach (@files) {
#$ftp->ascii();
$ftp->get("$file") || die &ftpfehler;
$ftp->quit();
QuoteGet REMOTE_FILE from the server and store locally. LOCAL_FILE may be a filename or a filehandle. If not specified, the file will be stored in the current directory with the same leafname as the remote file.
1 2 3 4 5 6
### oben ins Skript zu den anderen "use" use File::Spec; ### später dann in Deiner Schleife my $lokale_datei = File::Spec->catfile( "C:", "ftp", $datei ); $ftp->get( $datei, $lokale_datei );
2019-03-19T09:51:00 volker.55211...und so wenn ich das lokale Verzeichnis spezifiziere
Cannot open Local file c:/ftp/RMAA16032019-2.pdf: No such file or directory
at /var/www/vhosts/.../cgi-bin/auftrag4.pl line 140.
2019-03-19T09:23:36 volker.55211...
Mein Win7 PC läßt bei allem anderen den Zugriff zu.
QuoteCode: (dl )1
2
3Net::FTP=GLOB(0x7f989eab3a90)<<< 150 Opening BINARY mode data connection for RMAA16032019-2.pdf (2558 bytes)
Cannot open Local file RMAA16032019-2.pdf: Permission denied
at /var/www/vhosts/metiz.de/zundershop.metiz.de/cgi-bin/auftrag4.pl line 138.
2019-03-20T20:28:00 volker.55211Hmm, gedanklich ist das vom Heim-PC ein Download. Aus Sicht des Webservers ein Upload. Müsste doch eigentlich gehen, wenn ich auf dem Webserver ein Upload zu leiner zuHause Kiste mache. Oder liegt ich da völlig daneben
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
#! /usr/bin/env perl use strict; use warnings; use CGI; use File::Basename qw( basename ); my $generated_file = "/tmp/x.png"; # here happens the magic and $generated_file is generated my $cgi = CGI->new(); print $cgi->header( '-type' => 'image/png', '-attachment' => basename($generated_file), ); open my $fh, '<', $generated_file or die "open($generated_file) failed: $!"; binmode($fh); # for binary data { local $/ = \1024; # deliver in 1 kiB chunks print $_ for <$fh>; # deliver data } close $fh;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#! /usr/bin/env perl use strict; use warnings; use CGI; my $fake_filename = "x.png"; my $cgi = CGI->new(); print $cgi->header( '-type' => 'image/png', '-attachment' => $fake_filename, ); # let's assume, generate_png() generates a valid PNG data stream print generate_png();
2019-03-25T15:12:47 volker.55211So, nun hoffe ich dass es eine Lösung für mein Problem gibt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#! /usr/bin/env perl use strict; use warnings; use CGI; my $fake_filename = "x.png"; my $cgi = CGI->new(); print $cgi->header( '-type' => 'image/png', ); # let's assume, generate_png() generates a valid PNG data stream print generate_png();
wget -O /path/to/report.pdf http://example.org/cgi-bin/skript.pl
$ wget -O /dev/shm/test.png http://example.org/cgi-bin/script.pl
$ GET http://example.org/cgi-bin/script.pl > /dev/shm/test.png
1 2 3 4 5 6 7 8
my $generated_file = "../daten/etikett/etikett.pdf"; my $cgi = CGI->new(); print $cgi->header( '-type' => 'application/x-download', '-attachment' => $generated_file, ); print $generated_file();
2019-03-26T19:25:48 volker.55211Allerdings nur ins Windose Download-Verzeichnis --aber das kann ich verschmerzen.
1
2
3
4
D:\>lwp-mirror
Usage: lwp-mirror [-options] <url> <file>
-v print version number of program
-t <timeout> Set timeout value