Thread Wie PHP-Code in .cgi ausführen? (39 answers)
Opened by newperler at 2011-04-29 19:19

GwenDragon
 2011-05-02 19:14
#148200 #148200
User since
2005-01-17
14783 Artikel
Admin1
[Homepage]
user image
Ungetestete Idee!

Zeile 1107
ersetzen von:
Code (perl): (dl )
print $html;    # finally print the HTML page 

durch:
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
24
25
26
27
28
29
30
31
32
33
34
35
{
use Digest::MD5 qw(md5_hex);
my $t = time;
my $dig = md5_hex($t . $html . $$);

if (!-e "$ENV{DOCUMENT_ROOT}/cgi-bin/ksresult/") {
  mkdir("$ENV{DOCUMENT_ROOT}/cgi-bin/ksresult/");
}

my $php_fname = "ks-$dig-$t.php";
my $outfh;
open ($outfh, ">", "$ENV{DOCUMENT_ROOT}/cgi-bin/ksresult/$php_fname");
print $outfh $html;     # finally print the HTML page

# --- PHP-Datei löschen nach Anzeige? Dann Kommentar entfernen! 
#print $outfh '<?php @unlink("$ENV{DOCUMENT_ROOT}/cgi-bin/ksresult/$php_fname"); ?>';
# ---

close ($outfh);

my $redirect_url = "/cgi-bin/ksresult/$php_fname";

print <<"HTML";
<html>
  <head>
    <meta http-equiv="refresh" content="0; url=$redirect_url">
  </head>
  <body>
    <p>Suchergebnis unter <a href="$redirect_url">$redirect_url</a></p>
  </body>
</html>
HTML

exit;
}


Der Nachteil: Alle Ergebnisse werden unter /cgi-bin/ksresult/ abgelegt.
Das müsste per Cron einmal am Tag geelert werden.

Nicht sehr elegant, aber ich wollte nicht die ganze ksearch.cgi umschreiben.

//EDIT: Falls was nicht klappt oder Unklarheiten bestehen, einfach fragen.

PS: Bin gerade etwas abgelenkt, deswegen kann der Code fehlerhaft sein. ;)
Last edited: 2011-05-02 19:46:54 +0200 (CEST)

View full thread Wie PHP-Code in .cgi ausführen?