Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]4353[/thread]

PHP-Datei aus Perl-Script aufrufen

Leser: 1


<< >> 8 Einträge, 1 Seite
eisbeer
 2004-02-24 15:21
#38182 #38182
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich kenn mich mit PHP nicht aus, aber ich denke das PHP
wohl auch n kommandozeilen-interpret haben muss, z.b.
unter windows wohl php.exe oder sowas.

also müsstest du wohl so
Code: (dl )
$rueckgabewert = `php.exe phpfile.php`;

vorgehen.

Aber ich frag mich was der Sinn is, konvertier
doch den PHP-Code in Perlcode und führ ihn
gleich im Skript aus !?
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
steffenw
 2004-02-24 23:06
#38183 #38183
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Wenn Du Daten von einem HTML-Dokument lesen willst, dafür gibt es die LWP-Modulfamilie.

Einfach gesagt, macht Dein Perl-Script nichts anderes als ein Browser. Du rufst die Webseite ab. Dann kommt es darauf an, ob Du nur den Header lesen willst oder auch am Inhalt interessiert bist. Das Ergebnis kannst Du dann in Deinem Perl-Script weiterverarbeiten.

Einen Browser zu starten, nur damit er eine Webseite abruft, bringt eher Deinern Prozessor zur Verzweiflung, als das das Sinn macht. Also ist system() sicher nicht die richtige Wahl.
$SIG{USER} = sub {love 'Perl' or die};
eisbeer
 2004-02-28 02:35
#38184 #38184
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hehe, ausserdem sind PHP und Perl sehr ähnlich.
Ich selber habs nie gelernt, aber den Code kann
man schon gut verstehen...
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
Batzen
 2004-03-04 00:15
#38185 #38185
User since
2004-03-03
2 Artikel
BenutzerIn
[Homepage] [default_avatar]
N'Abend.

Ich stand neulich auch vor diesem Prob. Habe folgende Lösung bekommen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 #!/usr/bin/perl

#Fehlerausgabe an Browser
use CGI::Carp qw(fatalsToBrowser);
require LWP::UserAgent;

print "Content-type: text/html\n\n";

my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->agent('Mozilla/5.0');

my $response = $ua->get('http://www.google.de');

if ($response->is_success) {
print $response->content;
}
else {
die $response->status_line;
}
stb2050
 2004-02-24 14:37
#38186 #38186
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Hi Ihr,

ist es möglich, eine PHP-Datei aus Perl hinaus aufzurufen, also quasi wie ...

require "datei.pl"

... nur halt mit einer PHP-Datei.

Ich habe mir gedacht, dass man ja rein theoretisch die PHP-Datei über dein Browser aufrufen könnten, mit Paramter, geht das irgendwie im Perl-Script?

Vielleicht mit dem Befehl "system" oder was ähnlichem?

Wichtig ist halt nur, dass die Aktionen in der PHP-Datei ausgeführt werden und mein Perl-Script danach weiterläuft.

Viele Grüße & vielen Dank
Steffen
stb2050
 2004-02-24 16:51
#38187 #38187
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Hi Ihr,

würde den Code gerne konvertieren, habe aber leider überhaupt keinen Plan von PHP und die PHP-Datei ist nicht gerade einfach und verständlich.

Ich formuliere meine Frage anders:

Wie kann ich aus Perl heraus eine URL aufrufen, ohne das Perl-Script zu stoppen.

system("http://www.test.de/test.php");

Geht das so oder ähnlich?

LG
Steffen
stb2050
 2004-02-25 18:55
#38188 #38188
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Hi steffen,

:-)

Habe es inzwischen so gelöst, wie es eisbeer vorgeschlagen hat. Einfach ein paar PHP-Bücher geschnappt und das Ganze übersetzt ... sieht jetzt viel besser aus und vor allem ist der Code in Perl nur halb so lang.

Trotzdem danke für Ihre Hilfe.

LG
Steffen
esskar
 2004-02-28 04:13
#38189 #38189
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
früher war php nur ein perl-modul...
bis es sich dann eigenständig gemacht hat...
eigentlich hat es C/C++ syntax was dann aber widerrum perl ähnelt!
<< >> 8 Einträge, 1 Seite



View all threads created 2004-02-24 15:21.