"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

[php] file_get_content - ergebnis wieder in string verarbeiten

kl4Uz 20.02.2007 - 22:06 1936 10
Posts

kl4Uz

ambestenwisser
Registered: Sep 2002
Location: PCI port
Posts: 1645
Folgende Problemstellung: Ich möchte mit file_get_contents in einer Datei nach einem Begriff suchen, und dann, je nachdem ob er vorhanden ist oder nicht, einen anderen Inhalt in einen string schreiben.

Soweit bin ich:

Code:
$abfrage = file_get_contents("beispiel.txt");
if (preg_match(";kl4Uz;i", $abfrage)) 

Jetzt würde ich gerne in einem neuen String, nämlich $status abspeichern ob es vorhanden ist oder nicht.

Code:
$status = "Vorhanden"

bzw.

Code:
$status = "nicht vorhanden"

Also quasi eine "If-Schleife". Bisher hab ich das immer nur als echo ausgeben und da hat's wunderbar geklappt. Auf die selbe Weise in einem string speichern, klappt allerdings irgendwie nicht. Ja, ich bin ein totaler php newbie ;)

Wäre dankbar wenn mir da jemand schnell helfen könnte!

lg, kl4Uz

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4802
Ich versteh leider die Fragestellung nicht ganz. Weißt du nicht, wie man in Dateien schreibt?

kl4Uz

ambestenwisser
Registered: Sep 2002
Location: PCI port
Posts: 1645
Zitat von dio
Ich versteh leider die Fragestellung nicht ganz. Weißt du nicht, wie man in Dateien schreibt?

Dachte mir schon, dass ich's etwas blöd formuliert habe...

Anschauliches Beispiel:
Code:
      <?php

$datei = file_get_contents("http://beispiel.at/membersonline.htm");
if (preg_match(";kl4Uz;i", $datei)) 
{ 
 echo "online";
}
else
{
echo "offline";
}
  ?>

Anstatt der echos würde ich "online" bzw. "offline" gerne in einen String schreiben. Ich hab das auch versucht, krieg aber dauernd Syntax Errors, da ich offensichtlich was falsch mache.

d3cod3

Legend
...
Avatar
Registered: Aug 2002
Location: insert location ..
Posts: 15288
Code:
$variable = blubb;

edit: dumm. da gehören eh " " hin

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4802
Ich steig leider immer noch nicht hinter die Fragestellung ;). Du willst nur der Variable $status den Wert "online" oder "offline" zuweisen?
Code: PHP
$status = "";
$datei = file_get_contents("http://beispiel.at/membersonline.htm");
if (preg_match(";kl4Uz;i", $datei)) 
{ 
 $status = "online";
}
else
{
$status = "offline";
}
Wenn du in die Datei schreiben willst: http://at.php.net/fputs

kl4Uz

ambestenwisser
Registered: Sep 2002
Location: PCI port
Posts: 1645
:Bash:
Danke dio, ich Depp hab vergessen den String $status vor der Abfrage zu definieren :rolleyes:

Hätte mir selber auffallen müssen ;)

Danke jedenfalls!

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4802
musst du normalerweise in PHP nicht

kl4Uz

ambestenwisser
Registered: Sep 2002
Location: PCI port
Posts: 1645
Zitat von dio
musst du normalerweise in PHP nicht

Irgendwo in dem ganzen php file liegt noch was im Argen... Seit ich diese Abfrage eingebaut habe, klappt gar nichts mehr...

Die Abfrage ist eigentlich Teil einer dynamischen png Grafik, die ich für jemanden anderen gemacht habe...

Code: PHP
 
<?php
header("Content-type: image/png");

$image = imagecreatefrompng("back2.png");

//imagecolorallocate($image, R, G, B) in HEX values
$font_black = imagecolorallocate($image, 2, 1, 8);
$font_blue = imagecolorallocate($image, 25, 0, 255);
$font_white = imagecolorallocate($image, 255, 255, 255);
$font_purple = imagecolorallocate($image, 150, 30, 205);
$font_green = imagecolorallocate($image, 50, 200, 70);

$select = rand(1,7);
if($select==1)$string = "I love my userbar!";
if($select==2)$string = "Even false things are true.";
if($select==3)$string = "hail my godess of chaos Diskordia!";
if($select==4)$string = "FNORD!";
if($select==5)$string = "Consult your pineal gland!";
if($select==6)$string = "PrincipiaDiscordia.com";
if($select==7)$string = "D I S K O R D I A";

$status = ""; 
$seite = file_get_contents("http://game.eternal-lands.com/online_players.htm");
if(preg_match(";Diskordia;i", $seite))
{ 
 $status = "online";
}
else
{
 $status = "offline";
}

//($image, fontsize, rightindent, downindent, data, txtcolour)
imagestring($image, 3, 12, 3, "DISKORDIA", $font_white);
imagestring($image, 3, 86, 3, "eris", $font_purple);
imagestring($image, 2, 10, 20, "ticker:", $font_black);
imagestring($image, 2, 60, 20, $string, $font_white); 
imagestring($image, 2, 10, 30, "online status:", $font_purple);
imagestring($image, 2, 60, 30, $status, $font_white);
imagestring($image, 2, 10, 40, "selling:", $font_green);
imagestring($image, 2, 60, 40, "iron ore, steel greaves, etc", $font_white);
imagestring($image, 1, 342, 50, "k", $font_white);

imagepng($image);
imagedestroy($image);

?>

In ein Bild soll dynamisch Text geschrieben werden. Klappt eigentlich alles, außer eben diese Abfrage. Im 5. Imagestring sollte der string $status eingebaut werden. Will aber einfach nicht.

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11920
Zitat von kl4Uz
"If-Schleife"

Bitte nicht :(

kl4Uz

ambestenwisser
Registered: Sep 2002
Location: PCI port
Posts: 1645
Zitat von COLOSSUS
Bitte nicht :(

Absichtlich in "", weil ich ja weiß wie beliebt der Begriff hier ist :p

Burschi1620

24/7 Santa Claus
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792
http://de.php.net/preg_match
sagt mir nur, dass du versuchen könntest die ; in deinem preg_match auf / zu ändern. Ich hab gerade keine "lust" das zu verstehen, einen versuch ists ja wert *g* (siehe beispiel 1436, selbe struktur)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz