Seite 1 von 1
php schon geparst einlesen
Verfasst: 21.07.2007, 11:19
von chio
Ich habe nur rudimentäre php-Kenntnisse. Bitte Gnade!
Gibt es sowas wie:
$seite = Hol_das_Ding_aber_mach_vorher_fertig(lokalerPfad)
Ohne Ärger mit allow_url_fopen bzw vom aufgerufenen Script veränderten Variablen?
Verfasst: 21.07.2007, 11:58
von thekaine
Verstehe nicht so ganz was du möchtest

Möchtest du ne php datei aufrufen die arbeiten lassen und das was sie ausgiebt dann in ne Variable speichern?
Verfasst: 21.07.2007, 12:04
von chio
Ja. Ich möchte, dass das aufgerufene Script "gekapselt" abgearbeitet wird und nur das fertige Ergebnis zurückkommt.
Hintergrund: Mehrere Seiten aus einem CMS werden auf einer Seite (die wiederum zum CMS gehört) zusammengebaut. Mache ich das einfach mit include, kommen sich etliche Scripte in die Quere. Wenn ich eine vollständige URL übergebe (http://) funktioniert es zwar, aber es kommt mir ein eventuell abgeschaltetes allow_url_fopen in die Quere.
Verfasst: 21.07.2007, 12:13
von thekaine
Code: Alles auswählen
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_URL, "HTTP://DEINEURL.DE");
$xxx = curl_exec($curl);
Über Curl auf deinen eigenen Server zu verbinden ist für mich zwar nicht wirklich die optimalste Lösung aber vielleicht nen versuch Wert alles andere könnte dazu führen das sich das einfach mal jemand mit etwas Zeit angucken muss wo da die "Schwachstellen" liegen. Allerdings ist das auch nicht das schlimmste curl ist eigentlich sehr zügig

Verfasst: 21.07.2007, 12:28
von chio
Hmm... das kratzt sich zwischen den Beinen durch am Kopf...
Kleine Frage:
Es werden mehrere Seiten (ca 20) geholt, in einer Schleife.
Gehe ich richtig in der Annahme, dass ich dann alles bis vor der Zeile "CURLOPT_URL" _vor_ der Schleife und nur mehr die letzten 2 Zeilen _in_ der Schleife haben muss?
Wegen der Geschwindigkeit: Schätze, das muss ich cachen, schon allein um mir nicht die Statistik völlig zu verfälschen..
Verfasst: 21.07.2007, 12:31
von thekaine
ja sollte so funktionieren da die einstellungen ja sonst die gleichen bleiben

Verfasst: 21.07.2007, 12:31
von alpening
soweit wie ich weiß ist eine funktion in sich geschlossen, d.h es müsste folgendes funktionieren:
Code: Alles auswählen
function xyz() {
include(blabla.php);
return $verarbeitet;
}
um den inhalt einfügen zu können musst du nur noch die funktion aufrufen
oder
Verfasst: 21.07.2007, 13:29
von d0nut
wenn schon dann eher mit ob_start()
Code: Alles auswählen
function xyz($dir, $file) {
chdir($dir);
ob_start();
include($file);
$verarbeitet = ob_get_contents();
ob_end_clean();
return $verarbeitet;
}
wenn die includes nicht klappen, dann vermutlich wegem falschen verzeichnis. daher chdir
Verfasst: 21.07.2007, 13:57
von chio
Hmm...
Das sieht vernünftig aus, hat aber nicht getan. Und ich hab den Server zum abschmieren gebracht - woraus ich schließe, dass er in einer Schleife festhängt, was leicht passiert, wenn das Ganze _doch_ nicht gekapselt abläuft; das Script ruft sich ja quasi immer wieder selbst auf.
War ich wohl etwas verwegen, das ganze gleich online zu probieren. Naja, ich hoffe der Server beruhigt sich irgendwann, wenn er 8000 Seiten ineinander gesteckt hat...
