Zeile in Textdatei löschen

An was liegt das, dass er mit den Inhalt nicht reinschreibt sondern nur; name url info :confused:

PHP:
$strSourceFile = "intern/projects.txt";
$rscSource = fopen($strSourceFile, 'a');
$arrData = array('name', 'url', 'info');
if( is_resource($rscSource) )
{
    fputs($rscSource, "\r\n" . implode("|", $arrData));
    fclose($rscSource);
}

Achso ist es eigentlich möglich, den Datensatz immer oben dran zu hängen? Also das immer der aktuellste Datensatz oben steht?
 
An was liegt das, dass er mit den Inhalt nicht reinschreibt sondern nur; name url info :confused:

PHP:
$strSourceFile = "intern/projects.txt";
$rscSource = fopen($strSourceFile, 'a');
$arrData = array('name', 'url', 'info');
if( is_resource($rscSource) )
{
    fputs($rscSource, "\r\n" . implode("|", $arrData));
    fclose($rscSource);
}

Achso ist es eigentlich möglich, den Datensatz immer oben dran zu hängen? Also das immer der aktuellste Datensatz oben steht?

Deine erste Frage ist nicht wirklich ernst gemeint oder? Schau dir mal $arrData an!

Zu zweitens: Ja, kannst Du!
PHP:
$strSourceFile = "c:\\_reference.txt";
$strContent = file_get_contents($strSourceFile);
file_put_contents($strSourceFile, implode("|", $arrData) . (sizeof($strContent) > 0 ? "\r\n" . $strContent : ''));
 
Ne ist für nen Kumpel, der eine kleine IT-Firma hat und mich gefragt hat ob ich das erledige!

Also nur das mit den Textdateien, weil er genauso keinen Plan davon hat :)
 
Hmm ne kleine Frage; Wo baue ich das ein, denn ich bekomme ständig einen Error;

PHP:
$strContent = file_get_contents($strSourceFile);
file_put_contents($strSourceFile, implode("|", $arrData) . (sizeof($strContent) > 0 ? "\r\n" . $strContent : ''));

Fatal error: Call to undefined function: file_put_contents() in /homepages/31/d225391915/htdocs/intern/index.php on line 75
 
Kein PHP5 installiert - dann musst Du es doch anders machen und den zwei Zeiler entfernen:
PHP:
$strSourceFile = "c:\\_reference.txt";
$rscSource = fopen($strSourceFile, 'w');
$arrData = array('name', 'url', 'info');
if( is_resource($rscSource) )
{
	$strContent = file_get_contents($strSourceFile);
	$strContent = (strlen($strContent) > 0 ) ? "\r\n" . $strContent : $strContent;
	fputs($rscSource, implode("|", $arrData) . $strContent );
	fclose($rscSource);
}
 
Logisch - ein klassischer Fall von Denkfehler ;)
Zur Erklärung, die Option 'w' bei 'fopen' setzt den Zeiger auf den Anfang der Datei und setzt den Inhalt auf 0 Bytes.

PHP:
$strSourceFile = "c:\\_reference.txt";
$strContent = file_get_contents($strSourceFile);
$rscSource = fopen($strSourceFile, 'w');
if( is_resource($rscSource) )
{
	$arrData = array('name', 'url', 'info');
	$strContent = (strlen($strContent) > 0 ) ? "\r\n" . $strContent : $strContent;
	fputs($rscSource, implode("|", $arrData) . $strContent );
	fclose($rscSource);
}
 
Zurück