Avatar billede arthur Nybegynder
04. juni 2000 - 03:20 Der er 2 kommentarer og
1 løsning

Perl fra php

Hvordan dælen er det nu jeg kalder et perl script fra php?
Avatar billede erikjacobsen Ekspert
04. juni 2000 - 09:44 #1
Man kunne:

if ($a=exec('perl hejsa.pl',$output)) {
  echo "Udført<br>\n";
} else {
  echo "Fejl $a<br>\n";
}

for ($i=0;$i<count($output);$i++) {
  echo "$i $output[$i]<br>\n";
}

Hvor hejsa.pl indholder

for ($t=0;$t<=10;$t++) {
  print "$t små cyklister var...\n";
}

På din maskine skal du nok eksperimentere med om du kunne nøjes med 'hejsa.pl', om
du skal skrive den fulde sti på Perl-fortolkeren, etc. etc. Men ovenstående er lige prøvet
på Apache, W95, PHP3.
Avatar billede arthur Nybegynder
04. juni 2000 - 15:43 #2
Det eneste hage ved dit forslag er at det (på min computer: apache w98 php3) åbner et perl-dos vindue.
Jeg roddet lidt rundt på nettet i nat og fandt en rutine hos PHP Builder som udføre jobbet - omend lidt kompliceret. Jeg har omskrevet rutinen til en funktion der ser ud som flg:

function RunCGI($file) {   
    $path = "http://". getenv('HTTP_HOST') ."/$file";
    $filename = basename($path);
   
    $data = implode("\n",file($path));
   
    $tempfile = fopen($filename.".tmp","w");
    fwrite( $tempfile,"$data");
    fclose($tempfile);
    include ($filename.".tmp");
   
    unlink($filename .".tmp");
}

Funktionen virker fint, men jeg kan ikke helt gennemskue hvorfor det er nødvendigt at oprette en midlertidig fil...
Men så'n er der jo så meget

Avatar billede erikjacobsen Ekspert
04. juni 2000 - 21:34 #3
Hmm, det gør den nu ikke ved mig. Men hvis du i sidste ende skal køre
det på et web-hotel, kan det jo være ligegyldigt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester