datei includen und sachen ersetzten

Begonnen von Musicman75, 03 Januar 2005, 19:25:14

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Musicman75

Hallo,

ich möchte eine chartliste includen. leider haben die flash eingebunden und ein bild, welches ersetzt werden müsste.

Der Flashcode ist:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="80" height="16">
    <param name="BGCOLOR" value="">
    <param name="movie" value="text2.swf">
    <param name="quality" value="high">
    <embed src="text2.swf" width="80" height="16" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></object>
 


Der Code für das Bild ist:
<img src="../Logos2003/dac.jpg" width="170" height="58" hspace="20" vspace="0" align="left">

Gibt es bei php einen replace befehl, wenn ja wie funktioniert der und wie muss ich das angeben, damit es ersetzt wird? Es sind ingesamt 3 Flash Bilder, die alle durch einen Textlink ersetzt werden müssten, wobei der link auch anders ist.

Danke und Gruß
Steff
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Hmmm ....
Du willst also diese Chartlist in Deine Seite einbinden, aber VOR dem Einbinden soll
erstmal etwas in der Seite ersetzt werden ?
Kannst Du mir dazu bitte mal den Originallink geben und wie der Eingebunden wird.
Sonst weiss ich nicht, wei ich das angehen muss.
MfG
jubilee

Musicman75

#2
http://www.public-propaganda.de/charts/jahrescharts2004/DAC/index.html

Das ist die seite die includet werden soll. Da sind oben die Flash buttons "top100 Singles" und "Top 50 Alben" und "Acts & Labels".
Jede seite soll includet werden und dann dementsprechend die links ersetzt werden, das das dann alles zu den richtigen dateien hinführt.

Bis jetzt habe ich das über nen einfachen include gemacht, aber schau selbst:

http://www.gothic-online.de/main/modules.php?name=Charts&file=dac_jahr_04

Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Hmmm ....
O.K.
Möglichkeit wäre (muss ich aber testen weil ich nicht weiss ob es wirklich funzt)
Pufferung einschalten mit ob_start ();
Datei öffnen via fopen ();  in eine Variable.
Zu ersetzende Werte in der Variablen suchen/ersetzen via str_replace();
Pufferung ausschalten via ob_end_clean();
Inhalt ver Variablen ausgeben etc ... pp...
geht evt auch ohne Pufferung.
Muss ich mal ausprobieren.
MfG
jubilee

Musicman75

wäre echt lieb von dir ... ich sitz hier grade vor der php referenz von jens ferner und verstehe nur bahnhof.

da ist folgendes angegeben:
<?
&test=strtr("Kater","er","ze");
?>


dieser code soll das er von Kater in ze ersetzten, also Katze draus machen. Aber wie das bei sonem ellenlangen flashcode klappen sol ??????

Der muss ja komplett weg.
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

#5
Hallo !
So, habe einen Block (als Centerblock einbinden ....) fertig.
Dieser zeigt nur noch die eigentliche Playlist an:
Schaus Dir einmal an :
Zitat
/**********************************************************************/
/* vkpMx 2.0  Content Management System Platform                      */
/* ================================================================== */
/* Copyright (C) 2003 by the vkpMx & pragmaMx Developer Team          */
/* email:         team@pragmamx.org                                   */
/* homepage:      http://www.maax-design.de                           */
/* further sites: http://www.pragmamx.org,                            */
/*            http://www.marx-city.de, http://www.genutec-studios.de, */
/*            http://www.shiba-design.de, http://www.power-maax.de    */
/* ================================================================== */
/*   The vkpMx is distributed free of charge by maax-design.de.       */
/*   The use of this system is allowed until copyright information    */
/*   is shown perspicuous visible and correcty on all system pages.   */
/*   Sales, rent out and the use of single code parts from this       */
/*   system must be allowed by maax-design.de.                        */
/**********************************************************************/
if (!defined("mxMainFileLoaded"))
{
   die ("You can't access this file directly...");
}
$mxblockcache = FALSE;
$data='';
$content="";
ini_set("allow_url_fopen", "On"); //allow_url_fopen aktivieren falls ausgeschaltet
$fp=fopen("http://www.public-propaganda.de/charts/jahrescharts2004/DAC/index.html", "r"); //HTML öffnen
if ($fp)
{
      while (!feof ($fp))
   {
        $data .= fread($fp, 1024);
   }
}
else
{
   echo "The file does not exist!<br />\n";
}

fclose($fp);
ini_restore("allow_url_fopen"); //allow_url_fopen wieder auf Originaleinstellung zurücksetzen
preg_match("/<body>.+<\/body>/is",$data, $onlyBody); //Alles was im <body>-Bereich steht ausschneiden
$expression=array("/<(object)[^>]*>.+<\/(object)[^>]*>/is", "/<(img src)[^>]*>/is", "/<(body|\/body)>/is");
//Expressions zum Tags-Filtern
$replacement=array("","",""); //replacements für die ausgefilterten Tags
$ohneBody=preg_replace($expression,$replacement, $onlyBody[ 0 ]); //Suchen/Ersetzen der überflüssigen Tags
$content.=$ohneBody;
?>

MfG
jubilee

Musicman75

#6
Merci, eigentlich sollte das als modul eingebunden werden, was muss ich da dann ändern?

Und bei dem Block kommt folgende Fehlermeldung:

Warning: fopen("http://www.public-propaganda.de/charts/jahrescharts2004/DAC/index.html", "r") - No such file or directory in /home/www/web1/html/main2/blocks/block-Playlist.php on line 26
The file does not exist!

Warning: fclose(): supplied argument is not a valid File-Handle resource in /home/www/web1/html/main2/blocks/block-Playlist.php on line 40
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Zitat
<?php
/**********************************************************************/
/* vkpMx 2.0  Content Management System Platform                      */
/* ================================================================== */
/* Copyright (C) 2003 by the vkpMx & pragmaMx Developer Team          */
/* email:         team@pragmamx.org                                   */
/* homepage:      http://www.maax-design.de                           */
/* further sites: http://www.pragmamx.org,                            */
/*            http://www.marx-city.de, http://www.genutec-studios.de, */
/*            http://www.shiba-design.de, http://www.power-maax.de    */
/* ================================================================== */
/*   The vkpMx is distributed free of charge by maax-design.de.       */
/*   The use of this system is allowed until copyright information    */
/*   is shown perspicuous visible and correcty on all system pages.   */
/*   Sales, rent out and the use of single code parts from this       */
/*   system must be allowed by maax-design.de.                        */
/**********************************************************************/
if (!defined("mxMainFileLoaded"))
{
   die ("You can't access this file directly...");
}
$index = 1; // rechte blöcke an = 1, aus = 0
$data='';  //initialwert setzen
ini_set("allow_url_fopen", "On"); //allow_url_fopen aktivieren falls ausgeschaltet
$fp=fopen("http://www.public-propaganda.de/charts/jahrescharts2004/DAC/index.html", "r"); //HTML öffnen
if ($fp)
{
   
   while (!feof ($fp))
   {
        $data .= fread($fp, 1024);
   }
}
else
{
   echo "The file does not exist!<br />\n";
}

fclose($fp);
ini_restore("allow_url_fopen"); //allow_url_fopen wieder auf Originaleinstellung zurücksetzen
preg_match("/<body>.+<\/body>/is",$data, $onlyBody); //Alles was im <body>-Bereich steht ausschneiden
$expression=array("/<(object)[^>]*>.+<\/(object)[^>]*>/is", "/<(img src)[^>]*>/is", "/<(body|\/body)>/is");
//Expressions zum Tags-Filtern
$replacement=array("","",""); //replacements für die ausgefilterten Tags
$ohneBody=preg_replace($expression,$replacement, $onlyBody[ 0 ]); //Suchen/Ersetzen der überflüssigen Tags
include("header.php");
OpenTable();
//Hier weiterer Platz um die Ausgabe zu Verändern (Tabelle, Design etc)
echo "".$ohneBody."";
//Hier weiterer Platz um die Ausgabe zu Verändern (Tabelle, Design etc)
CloseTable();
include("footer.php");
?>

Das Teil als index.php speichern. im Modulordner einen unterordner erstellen (z.B. Playlist etc ...). Die index.php
dahineinkopieren, im Admin-Menü aktivieren.
etc... pp..
MfG
jubilee

Musicman75

Habe das ganze jetzt als moduldatei gespeichert und bekomme folgenden Fehler:

Warning: fopen("http://www.public-propaganda.de/charts/jahrescharts2004/DAC/index.html", "r") - No such file or directory in /home/www/web1/html/main/modules/Charts/dac_jahr_04.php on line 25
The file does not exist!

Warning: fclose(): supplied argument is not a valid File-Handle resource in /home/www/web1/html/main/modules/Charts/dac_jahr_04.php on line 39

Kannst mal hier anschauen:
http://www.gothic-online.de/main/modules.php?name=Charts&file=dac_jahr_04
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Hmmm ....
Nope. Das funktioniert :
http://www.marx-city.de/modules.php?name=Playlist
Ist bei Dir die Funktion fopen generell gesperrt ??
MfG
jubilee

jubilee

#10
Komisch ist das .
Versteh ich ehrlichgesagt auch nicht.
den ursprünglichen Link direkt einbinden ging doch, oder ?
Hier nomal die index.php zum Download.
Evt ist beim copy&pase etwas schiefgegangen.
?!?!

Musicman75

Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Hallo !
Und wenn du den originalen Link (den mit Flash etc ....) einbaust, dann funktioniert das ?
MfG
jubilee

wichtel9999

Da bei Dir ja auch der LinkTausch-Block funktioniert kannste es mal mit folgendem Script probieren.


<?php
/**********************************************************************/
/* vkpMx 2.0  Content Management System Platform                      */
/* ================================================================== */
/* Copyright (C) 2003 by the vkpMx & pragmaMx Developer Team          */
/* email:         team@pragmamx.org                                   */
/* homepage:      http://www.maax-design.de                           */
/* further sites: http://www.pragmaMx.org,                            */
/*            http://www.marx-city.de, http://www.genutec-studios.de, */
/*            http://www.shiba-design.de, http://www.power-maax.de    */
/* ================================================================== */
/*   The vkpMx is distributed free of charge by maax-design.de.       */
/*   The use of this system is allowed until copyright information    */
/*   is shown perspicuous visible and correcty on all system pages.   */
/*   Sales, rent out and the use of single code parts from this       */
/*   system must be allowed by maax-design.de.                        */
/**********************************************************************/
if (!defined("mxMainFileLoaded"))
{
   die (
"You can't access this file directly...");
}
$index 1// rechte blöcke an = 1, aus = 0
$data='';  //initialwert setzen
$url "http://www.public-propaganda.de/charts/jahrescharts2004/DAC/index.html";
$lta parse_url($url);
@
$fp fsockopen($lta[host], 80$errno$errstr3);
if (
$fp) {
  
fputs($fp"GET " $lta[path] . "?" $lta[query] . " HTTP/1.0\r\n");
  
fputs($fp"HOST: " $lta[host] . "\r\n\r\n");
  while(!
feof($fp)) {
    
$pagetext fgets($fp,228);
    
$data .= chop($pagetext);
  }
  
fputs($fp,"Connection: close\r\n\r\n");
  
fclose($fp);
}
preg_match("/<body>.+<\/body>/is",$data$onlyBody); //Alles was im <body>-Bereich steht ausschneiden
$expression=array("/<(object)[^>]*>.+<\/(object)[^>]*>/is""/<(img src)[^>]*>/is""/<(body|\/body)>/is"); 
//Expressions zum Tags-Filtern
$replacement=array("","",""); //replacements für die ausgefilterten Tags
$ohneBody=preg_replace($expression,$replacement$onlyBody]); //Suchen/Ersetzen der überflüssigen Tags
include("header.php");
OpenTable();
//Hier weiterer Platz um die Ausgabe zu Verändern (Tabelle, Design etc)
echo "".$ohneBody."";
//Hier weiterer Platz um die Ausgabe zu Verändern (Tabelle, Design etc)
CloseTable();
include(
"footer.php");
?>



Lieben Gruss

wichtel(9999)

PS: Du hast hoffentlich die Erlaubnis den Content zu nutzen, denn ansonsten kann man Dir Ärger wegen Contentklau machen.

Musicman75

Merci, funktioniert bestens.

Die erlaubnis habe ich - es wurde sogar darum gebeten den Inhalt zu veröffentlichen.

Gruß
Steff
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

wichtel9999

Zitat von: Musicman75 am 04 Januar 2005, 17:52:35
Merci, funktioniert bestens.

Habe ich nicht anders erwartet. ;-)

Zitat
Die erlaubnis habe ich - es wurde sogar darum gebeten den Inhalt zu veröffentlichen.

Glaub ich Dir, aber wenn ich solche Scripte veröffentliche, mit denen man fremden Content einbinden kann, schreibe ch das immer darunter. :-)

Lieben Gruss

wichtel(9999)

jubilee

Hmmm .das ist wirklich komisch.
Ich habs vo meinem Server heut Nachmittag partout nicht mit
fsockopen hinbekommen. Habe darüber keinen Stream einrichten können.
Dagegen läuft es bei mir via fopen.
Bei Musikman ist es anscheinend genau umgekehrt.
Das muss mir auch mal einer erklären, warum das so ist .....

???

MfG
jubilee

Musicman75

könnte mir vielleicht auch einer erklären, wie die einzelnen befehle funktionieren und was diese ganzen klammern etc bedeuten oder bewirken.
Dann kann ich sowas das nächste mal selber machen.
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

wichtel9999

Zitat von: jubilee am 04 Januar 2005, 19:52:06
Das muss mir auch mal einer erklären, warum das so ist .....

Hast Du mal mein Script probiert?

Ich habe mich bei meinem LinkTausch-Modul jetzt auf fsockopen festgelegt, weil das eigentlich auf allen Systemen funktioniert.

Nur muss man halt darauf achten, das auch alles über CHOP zusammenkopiert wird, damit man alles ausschneiden kann.

Lieben Gruss

wichtel(9999)

wichtel9999

Zitat von: Musicman75 am 04 Januar 2005, 20:24:10
könnte mir vielleicht auch einer erklären, wie die einzelnen befehle funktionieren und was diese ganzen klammern etc bedeuten oder bewirken.
Dann kann ich sowas das nächste mal selber machen.

Dazu solltest Du dir vielleicht mal die Befehlsreferenz zu PHP ansehen, denn hier alles zu zerpflücken würde einem PHP-Kurs Nahe kommen und das ist wohl ein bissel zu aufwendig.

Hier mal ein Link für die PHP-Referenz:

php.net

Lieben Gruss

wichtel(9999)