Thread CGI von Linux zu Windows
(17 answers)
Opened by Sensewell at 2009-11-12 19:28
Hallo Freunde der Sonne,
ich bin zum ersten Mal hier und habe überhaupt keine Ahnung von PERL :). Ich hätte jedoch trotzdem gerne euren Rat. Ich habe von einem Kollegen eine CGI Datei erhalten, die bei uns unter LINUX läuft. NUn muss ich diese jedoch unter Windows laufen lassen :(. Nun würde ich gerne von euch wissen, ob das prinzipiell(im Bezug auf den Inhalt der Datei) möglich ist. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 use CGI qw(:standard escapeHTML); use x; use y; use DB_File; my $sessid = $$; my $home = "/blub"; my $file=""; my $gms_oid=param("o"); if ($gms_oid) { $hpfad = sprintf "%010X",$gms_oid; $pfad = "/ARCHIV/".substr($hpfad,0,2)."/".substr($hpfad,2,2)."/".substr($hpfad,4,2)."/".substr($hpfad,6,2)."/".substr($hpfad,8,2); } if(-e "$pfad/asd.pdf") { unless (-e ".$gms_oid.pdf") { system("ln -s $pfad/asd.PDF .$gms_oid.pdf"); } print header(), start_html(-title=>"BLUB", -bgcolor=>"#AAAAAA", -style=>{"src"=>"licis.css"}, -script=>{-language=>'JavaScript', -src=>'gms.js'}); print "<TABLE FRAME=VOID BORDER=0 CELLSPACING=0 CELLPADDING=0>"; #Kopfzeile print "<embed src='.$gms_oid.pdf' width='100%' height='776px'>"; print end_html(); Den Code verstehe ich... Das CGI Skript wird mit einem Parameter o aufgerufen. also xy.cgi?o=(1234). Darauf wird der Parameter in einen Hexwert überführt mit führenden Nullen etc.. Dann wird im Verzeichnis ARCHIV eine Datei ermittelt. Wenn diese as.pdf heißt, wird für diese ein smybolic link versehen. Diese Funktion kann ja unter Windows mit der Extension ln.exe unter Windows (http://schinagl.priv.at/nt/ln/ln.html) ersetzt werden. Am Ende wird dieser Link als embedded src zurückgegeben, und derjenige der die CGI aufgerufen hat, bekommt die Datei im Browser angezeigt. Seht ihr eine Lösung um diese CGI auch unter Windows auszuführen? Dateisystem etc. ist identisch(ARCHIV Ordner vorhanden). Blöde Frage: gibt es einen Converter um den Code in windowsfähige Art zu erstellen? Ich würde mich über eine Antwort freuen. LG, Sensewell Last edited: 2009-11-13 12:18:41 +0100 (CET) |