include einer entfernten php datei
Hallo Leute,
Ich habe ja nun einen Bannerrotator erstellt, nun mal ne Frage, kann ich die config php auch von einem anderen Server abrufen?
Beispiel:
include (http://xxx.xxx.de/config.php);
?
Antwort schreiben
Antwort 1 von gast42 vom 14.07.2021, 06:44 Options
nein, geht nicht. Was sollte vom PHP auch übrigbleiben, wenn der Server es übers http-Protokoll ausliefert?
Antwort 2 von Supermax vom 14.07.2021, 06:49 Options
Das funktioniert, wenn die "fopen_url_wrappers" in der PHP.INI aktiviert sind.
Antwort 3 von son_quatsch vom 14.07.2021, 07:29 Options
Nein Supermax, damit bekommt man allenfalls das Ergebnis der fernen config.php. Man kann sich nicht die PHP-Quelltexte anderer Seiten einfach so angucken.
Antwort 4 von xxsecxx vom 14.07.2021, 07:33 Options
fopen_url_wrappers ist nicht in meiner PHP.ini aufgeführt
Antwort 5 von xxsecxx vom 14.07.2021, 07:53 Options
siehe hier ( http://referenzen.rexee-group.de/ts.php )
Antwort 6 von son_quatsch vom 14.07.2021, 07:57 Options
Das ist auch unerheblich xxsecxx, so klappt dein Vorhaben auf keinen Fall.
Antwort 7 von Supermax vom 14.07.2021, 08:02 Options
@son_quatsch hat natürlich recht.
Du kannst allerdings der Config-Datei eine Endung geben, die vom entfernten Webserver nicht als PHP interpretiert wird, z.B. ".inc", dann bekommst du tatsächlich den Inhalt der Datei und nicht die interpretierte Ausgabe.
(Hinweis an mich selbst: keine Fragen beantworten, bevor das erste Häferl Kaffee nicht seine volle Wirkung entfaltet hat *g*)
Antwort 8 von xxsecxx vom 14.07.2021, 10:05 Options
Hm, also das mit der config.inc funzt auch net. Gibt es den da keine Möglichkeit? Sowas wie nen updates sys oder ftp zugang, der nach xx Tagen die datei updatet?
Antwort 9 von son_quatsch vom 14.07.2021, 10:13 Options
Was genau hast du denn erstellt - und was genau willst du machen?
Du kannst genausogut auch http://xxx.xxx.de/config.php?update=liste&neu1=eins&neu2=zwei aufrufen und die config.php kann das entsprechend auswerten und reagieren.
Antwort 10 von xxsecxx vom 14.07.2021, 10:45 Options
grml
die config.php
<?
/Config.php Hier werden die Banner und Urls eingetragen
$ads = array(
array("Banner" => "<a href=\"http://www.rexee-host.de\" target=\"_blank\"><img src=\"http://rexee-host.de/img/rexee-host_werbeba_468_60.png\"></a>"),
array("Banner" => "<a href=\"http://www.laberforum.com\" target=\"_blank\"><img src=\"http://beta.laberforum.com/wcf/images/werbebanner/468x60_banner.png\"></a>"),
array("Banner" => "<a href=\"http://ad.zanox.com/ppc/?1xxxxx\" target=\"_blank\"><img src=\"http://ad.zanox.com/ppv/?1xxxxxx\"></a>")
);
?>
Die Ausgabe, die VIA include in einer php-datei eingerufen wird:
<?// Ausgabe Code, diese daten werden in die HP eingebunden
include 'config.php';
srand ((double)microtime()*10000);
$maxwert = count($ads)-1;
$nr = rand(0,$maxwert);
echo $ads[$nr][Banner];
?>
So, nun ist das so, dass ich mit dem Sponsoring was ich betreibe sage, das die User einen Banner einbringen sollen, dafür habe ich dieses Script bedacht. Nun ist es schwachsinn da auch noch die config.php raufzuspielen.
Wenn ich jetzt neue sponsoren habe müsste ich die Updaten und des wäre auf dauer eine ganze menge an clients. daher suche ich nach einer Möglichkeit die config.php multible nutzen zu können ggf. auch updaten zu können.
Des ist das was ich vorhabe
Antwort 11 von son_quatsch vom 14.07.2021, 11:22 Options
Wie ich es verstanden habe: du hast mehrere Leute, denen du die andere namenlose PHP-Datei gibst. In jener PHP-Datei soll deine config.php mit drin sein. Die config.php soll jedoch nur bei dir auf einem Server sein, damit du nur eine Datei pflegen musst und die mehreren Leute ebenfalls nichts weiter tun müssen. Ist das alles richtig?
Das ist in mehrfacher Hinsicht zu kurz gedacht:
1.) Bei jedem Aufruf der namenlosen PHP-Datei wird erneut eine Verbindung zu deinem Server hergestellt, um jene config.php zu holen. Das dauert im besten Fall nur eine Viertelsekunde. Aber je nachdem wie oft jene Seite aufgerufen wird, kann das die Seite schnell sehr lahm machen. Wär ich einer dieser Leute, die jene namenlose PHP-Datei verwenden sollen würde ich mich dagegen wehren, weil das eindeutig eine Bremse ist.
2.) In dieser Form ist das 100%ig beeinflussbar. Ich als einer der Leute kann den Code der namenlosen PHP-Datei abändern, sodass entweder gar keine Ausgabe erfolgt, oder aber nur die Banner angezeigt werden, die ich angezeigt wissen will.
3.) Das HTML der Banner ist unsauber.
Aber du willst ja sicher Hilfe statt Belehrung. Daher folgender Vorschlag: wir wäre es, wenn all deine Leute lediglich folgendes einfügen müssten in ihre Webseite?
<a href="http://xxx.xxx/banner.php?user=1&type=link" target="_blank"><img src="http://xxx.xxx/banner.php?user=1&type=pic" alt="alternativer Text" /></a>
Antwort 12 von xxsecxx vom 14.07.2021, 11:27 Options
jap das soweit richtig, das es nun die Seite lahm legen könnte, daran habe ich nicht gedacht.
Der Vorschlag wäre super, gibt es dazu ein toturial?
Antwort 13 von son_quatsch vom 14.07.2021, 11:47 Options
Das weiß ich nicht, ich würde es selbst erstellen :-)
Kurzum: für PHP-Anfänger ist das nicht zu bewältigen - dafür brauchst du noch Erfahrung, und die kommt nicht von heute auf morgen. Wenn du dich wirklich damit beschäftigen willst, dann musst du folgendes wissen:
- Header. Die Idee ist, dass config.php bei type=link ja aufgerufen wird, aber sofort an die Zielseite weiterleitet. Dazu gibt es die 301 Redirection.
- Dateien lesen. Die Idee ist, dass config.php bei type=pic nicht HTML sonder JPEG ausspuckt. Kombiniert mit Headern ist das nichts anderes als ein Aufruf zu config.jpg (als Beispiel).
- Sessions - und zwar nicht die PHP-internen, sondern deine eigenen. Sinn: du musst erkennen, dass Link und Bild von ein- und demselben Aufrufer kommen, da dir keiner voraussagen kann, welches von beidem zuerst eintrifft. Ansonsten haben Link und Bild keinen Bezug. Und es muss auch erkannt werden, wann diese Assoziation komplett ist, damit bei dem nächsten Fall möglichst ein anderer Link mit entsprechendem Bild ausgegeben wird.
- MySql. Die Session-Idee würde ich mit Datenbankzugriffen lösen. Muss nicht zwangsläufig, ist aber die effizienteste Methode soweit.
Ja, das klingt schwierig. Erfordert in jedem Fall Kopfarbeit. Ist aber die intelligenteste Bannerlösung.
Antwort 14 von xxsecxx vom 14.07.2021, 12:07 Options
naja ich denke mal da dürfte ich mit dem bereich case wohl ein wenig weiter kommen xD