Wo ist mein Fehler?

  • Themenstarter Themenstarter djflo
  • Beginndatum Beginndatum
D

djflo

Was ist hierdran falsch? egal was ich in die textdatei schreibe, er schreibt immer nur tschüss:

PHP:
<? 
$fp = @fopen("datei.txt","r+"; 
fclose($fp); 
if (strstr($fp,"test") 
{ ?> 
hallo 
<? } 
else 
{ ?> 
tschüss 
<? } ?>
 
hi..
also da sind paar dinge die ich nicht ganz in deinem Code verstehe...hier mal meine Version..

PHP:
<? 
$fp = fopen("datei.txt","r+"; 

if (strstr($fp,"test") 
{  
echo"hallo ";
 } 
else 
{
echo "tschüss" ;
}
    fclose($datei);
?>
Also erstmal kam ich mit deiner Ausgabe net klaro, und dann hast du das Dokument auch gleich nach dem öffnen wieder geschlossen...mhh

bis denne
 
PHP:
<? 
$fp = fopen("datei.txt","r+"); 

if (strstr($fp,"test")) 
{  
echo "hallo";
 } 
else 
{
echo "tschüss";
}
fclose($datei);
?>
 
Also irgendwie bringt das nichts ich habe es jetzt so geschriben:

PHP:
<? 
$fp = fopen("datei.txt","r+"); 

if (strstr($fp,"test")) 
{  
echo "hallo";
 } 
else 
{
echo "tschüss";
}
fclose($fp);
?>

Aber es ist immernoch das gleiche Problem. Ich will, dass er "hallo" schreibt, wenn "test" irgendwo in der Datei "datei.txt" vorhanden ist, doch egal was in der Datei steht, er schreibt immer "tschüss"! Warum geht das bloß nicht?
 
das liegt daran, dass du bis jetzt nur einen verweis auf die geöffnete datei erzeugt hast, du musst erst noch die datei auslesen:

PHP:
<? 
$fp = fopen("datei.txt","r+"); 
$file = file($fp);
$file = implode(" ", $file);

if (strstr($file,"test")) 
{  
echo "hallo";
 } 
else 
{
echo "tschüss";
}
fclose($fp);
?>
 
Eine Kleinigkeit hab ich noch geändert und jetzt geht es, vielen Dank!!!

PHP:
<? 
$fp = fopen("datei.txt","r+"); 
$file = file("datei.txt");
$file = implode(" ", $file);

if (strstr($file,"test")) 
{  
echo "hallo";
 } 
else 
{
echo "tschüss";
}
fclose($fp);
?>
 
achja.. ich hab vergessen, dass file ohne filehandle funktioniert. Dann könntest du aber besser auch deine fopen und so rausnehmen, spart ressourcen.

PHP:
<?php 
$file = file("datei.txt");
$file = implode(" ", $file);

if (strstr($file,"test")) 
{  
echo "hallo";
 } 
else 
{
echo "tschüss";
}
?>
 
Zurück