[php] file_get_content - ergebnis wieder in string verarbeiten

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_file_get_content_ergebnis_wieder_in_string_ver_176682/page_1 - zur Vollversion wechseln!


kl4Uz schrieb am 20.02.2007 um 22:06

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 schrieb am 20.02.2007 um 22:11

Ich versteh leider die Fragestellung nicht ganz. Weißt du nicht, wie man in Dateien schreibt?


kl4Uz schrieb am 20.02.2007 um 22:15

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 schrieb am 20.02.2007 um 22:18

Code:
$variable = blubb;

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


dio schrieb am 20.02.2007 um 22:21

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 schrieb am 20.02.2007 um 22:27

: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 schrieb am 20.02.2007 um 22:32

musst du normalerweise in PHP nicht


kl4Uz schrieb am 20.02.2007 um 22:38

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 schrieb am 20.02.2007 um 22:39

Zitat von kl4Uz
"If-Schleife"

Bitte nicht :(


kl4Uz schrieb am 20.02.2007 um 22:40

Zitat von COLOSSUS
Bitte nicht :(

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


Burschi1620 schrieb am 20.02.2007 um 23:42

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)




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025