Supportnet / Forum / Skripte(PHP,ASP,Perl...)
php Befehle in Perl ausführen
Frage
Hallo,
ich habe ein Perl script, und möchte darin die PHP Befehle integrieren:
<?php
define("_BBC_PAGE_NAME", "MeineSeite");
define("_BBCLONE_DIR", "/var/www/bbclone/");
define("COUNTER", _BBCLONE_DIR."mark_page.php");
if (is_readable(COUNTER)) include_once(COUNTER);
?>
geht das irgendwie?
Danke schonmal und noch ne schöne Nacht :-)
Antwort 1 von toxe
am einfachsten wird es sein, eine temporaere datei anzulegen, diese mit PHP zu parsen und das ergebnis auszugeben:
$FileName = "/tmp/tempscript".time().".php";
open(PHPFILE, ">$FileName");
print PHPFILE <<"(BLAFOO)";
Content-type: text/html
<html>
<head>
...
</head>
<body>
...
$variable
...
<? php skript! ?>
</body>
</html>
(BLAFOO)
close(PHPFILE);
$ParsedPHP = `/usr/local/bin/php "$FileName"`;
unlink($FileName);
print $ParsedPHP;
noch ein hinweis: wenn das PHP binary das einer CGI installation ist, kannst du das "Content-type: text/html" weg lassen, da PHP es selbst hinzufuegt. bei einer modul-installation bzw. bei verwendung von php -q musst du es selbst ausgeben.
definieren von variablen, sehe ich keine möglichkeit. du könntest diese aber in ne tmp datei schreiben und später auslesen...
toxe
$FileName = "/tmp/tempscript".time().".php";
open(PHPFILE, ">$FileName");
print PHPFILE <<"(BLAFOO)";
Content-type: text/html
<html>
<head>
...
</head>
<body>
...
$variable
...
<? php skript! ?>
</body>
</html>
(BLAFOO)
close(PHPFILE);
$ParsedPHP = `/usr/local/bin/php "$FileName"`;
unlink($FileName);
print $ParsedPHP;
noch ein hinweis: wenn das PHP binary das einer CGI installation ist, kannst du das "Content-type: text/html" weg lassen, da PHP es selbst hinzufuegt. bei einer modul-installation bzw. bei verwendung von php -q musst du es selbst ausgeben.
definieren von variablen, sehe ich keine möglichkeit. du könntest diese aber in ne tmp datei schreiben und später auslesen...
toxe

