Webstatt.org - Community seit 2006 - 2012 (2024?)

Kinoprogramm auslesen

Avatar user-297
03.03.2006 12:47

Wir (ich und Sucker) möchten von hier das Kinoprogramm auslesen, ähnlich wie bei dieser Community. Ich habe von der Community folgendes Script bekommen, was allerdings eine Fehlermeldung produziert.

Script:

<?
$woischsher = "http://www.kinokempten.de/programm.html";
$wobeginnds = "<u>Unser Kinoprogramm</u></h3>";
$woischsend = "- Colosseum Center Kempten<br>";

$deszeigsarlhalt = implode(file($woischsher));

$deszeigsarlhalt = substr($deszeigsarlhalt,
strpos($deszeigsarlhalt, $wobeginnds),
strpos($deszeigsarlhalt,
$woischsend)-strpos($deszeigsarlhalt, $wobeginnds)+strlen($woischsend));

echo $deszeigsarlhalt;
?>


Fehlermeldung: (>live)
Warning: file(): URL file-access is disabled in the server configuration in /data/wwwcust/cs4-1/html/inc/kinoprogramm.inc.php on line 11

Warning: file(http://www.kinokempten.de/programm.html): failed to open stream: no suitable wrapper could be found in /data/wwwcust/cs4-1/html/inc/kinoprogramm.inc.php on line 11

Warning: implode(): Argument to implode must be an array. in /data/wwwcust/cs4-1/html/inc/kinoprogramm.inc.php on line 11


Die Fehlermeldung lässt auf irgendein Serverseitiges Problem schließen, aber ganz schlau werd ich daraus nicht. Was läuft falsch?

Fachabi 2007
Avatar user-253
03.03.2006 12:51

Anscheinend ist auf diesem Server die Möglichkeit deaktiviert, per file() auf externe Seiten zuzugreifen.

Warning: file(): URL file-access is disabled in the server configuration in /data/wwwcust/cs4-1/html/inc/kinoprogramm.inc.php on line 11


Michael

Avatar user-300
03.03.2006 12:51

http://php.benscom.com/manual/en/ref.filesystem.php#ini.allow-url-fopen
Diese Einstellung wird wahrscheinlich das Problem sein.

user-150
03.03.2006 13:02

wenn ich das richtig vertehe, kann eingestellt werden welche urls ein dokument auslesen dürfen, oder?
damit es funktionieren würde müsste das kino also unsere url adden (oder wir das ganze von der fh seite holen) oder?

€ oder auch nicht, siehe

http://www.sheep24.de/sheep/kino.php

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
Avatar user-255
03.03.2006 13:05

Nicht ganz. zwinkern

Auf user-297s Server ist momentan eingestellt, dass ein Script nicht auf einen externen Server zugreifen darf.
Das hat also nix mit dem anderen Server zu tun, auf den er zugreifen will.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-150
03.03.2006 13:06

also müssen wir das ändern (wie Fettes Grinsen)
bzw könnnen wir das überhaupt, oder muss das der provider machen?

allow_url_fopen Off Off traurig

Habs mal mit folgendem Code versucht:


if(ini_get('allow_url_fopen'zwinkern != 1)
{
@ini_set('allow_url_fopen', '1'zwinkern;
if(ini_get('allow_url_fopen'zwinkern != 1)
{
die("Please set the variable 'allow_url_fopen' to the value 1"zwinkern;
}
}


kommt natürlich: Please set the variable 'allow_url_fopen' to the value 1


:\

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
Avatar user-182
03.03.2006 13:28

Hoster fragen?

Seid ihr auch schon wix'r? xD
user-150
03.03.2006 13:45

Original von user-182
Hoster fragen?


jau hab grad ne anfrage geschickt, mal hoffen
die sponsorn uns die hp sogar lächeln

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
user-303
03.03.2006 14:02

bau dir doch einfach ne eigene anfrage oder schau mal bei pear nach. ne eigene anfrage könnte ganz einfach so aussehen: (von php.net kopiert und leicht verbessert)
<?php
$fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\n\r\n"zwinkern;
while (!feof($fp)) {
echo fgets($fp,128);
}
fclose($fp);
}
?>


am besten nimmst du ne pear klasse wie z.b. die hier:
http://pear.php.net/package/HTTP_Client

Avatar user-255
03.03.2006 14:16

Bist du sicher, dass fsockopen() nicht auf allow_url_fopen hört? user-158n wäre die Einstellung nämlich ziemlich sinnbefreit. zwinkern

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-317
03.03.2006 14:22

Meiner Meinung nach funktioniert fsockopen auch ohne allow_url_fopen
Lege ich aber nicht meine Hand dafür ins Feuer.

user-303
03.03.2006 14:33

Original von user-255
Bist du sicher, dass fsockopen() nicht auf allow_url_fopen hört? user-158n wäre die Einstellung nämlich ziemlich sinnbefreit. zwinkern

fsockopen müsste man m.E. extra deaktivieren

user-150
03.03.2006 14:43

wenn ich diesen code verwende:

<?

$fp = fsockopen ("http://www.kinokempten.de/programm.html", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\nHost: http://www.kinokempten.de/programm.html\r\n\r\n"zwinkern;
while (!feof($fp)) {
echo fgets($fp,128);
}
fclose($fp);
}
?>


bekomm ich diese fehlermeldung


http://www.fosbos-community.de/?go=kinoprogramm2Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /data/wwwcust/cs4-1/html/inc/kinoprogramm2.inc.php on line 6

Warning: fsockopen(): unable to connect to http://www.kinokempten.de/programm.html:80 in /data/wwwcust/cs4-1/html/inc/kinoprogramm2.inc.php on line 6
Permission denied (13)


http://www.fosbos-community.de/?go=kinoprogramm2

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
user-303
03.03.2006 14:47

noch nie mit sockets gearbeitet?
ok...
<?php

$fp = fsockopen ("www.kinokempten.de", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fputs ($fp, "GET /programm.html HTTP/1.0\r\nHost: www.kinokempten.de\r\n\r\n"zwinkern;
while (!feof($fp)) {
echo fgets($fp,128);
}
fclose($fp);
}
?>
so müssts gehen

user-150
03.03.2006 14:50

ne, hab ich noch nicht *duck*

hm nice, funktioniert soweit

jetzt muss ichs nur noch schaffen einen bestimmten bereich auszulesen und dem dann ne andere formatierung zu geben Fettes Grinsen

aber danke zwinkern

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
user-150
06.03.2006 13:07

Habs jetzt doch über den von user-297 geposteten Code gelöst.

Erhalte jetzt folgende Ausgabe, wie schaffe ich es am besten die zu formatieren? Also zum einen hinsichtlich xhtml transitional zum anderen natürlich design?:

€ hier stand viel schwachsinn Fettes Grinsen

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
Avatar user-255
06.03.2006 13:24

Netter Code, aber ein Anhang hätt's auch getan.

Wie schon gesagt: RegEx ist dein Freund lächeln

Einlesen, parsen, formatieren, ausgeben.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-150
06.03.2006 13:27

hm naja, da ich denke dass die das ned oft ändern werden, mach ich das einfach mal so in der art

$a = str_replace("<br>", "<br />", $a);

halt jedes argument.. ^^

wenn ich regex brauch komm ich garantiert auf euch zurück ^^

€ was is schneller, wenn ich den text 20mal durch str_replace laufen lass, oder das ganze mit 2 arrays und preg_replace löse?

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
Avatar user-255
06.03.2006 14:19

Für statische Ersetzung reicht str_replace() und bevor du mit RegEx drangehst, lerne es bitte.
Gewöhnlich sieht ein RegEx nämlich so aus:
/Suchmuster/Modifier
Das Suchmuster wird von "alphanumerischen" Zeichen (/,#,|,-,+,...) eingefasst. Das Verhalten wird von den Modifiern gesteuert.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm