web-dev-qa-db-de.com

Wie schreibe ich in eine Datei in PHP?

Ich habe dieses Skript auf einem kostenlosen PHP-unterstützenden Server:

<html>
<body>

<?php
$file = fopen("lidn.txt","a");


fclose($file);
?>

</body>
</html>

Es erstellt die Datei lidn.txt, die aber leer ist.

Wie kann ich eine Datei erstellen und etwas darin schreiben, Zum Beispiel die Zeile "Cats chase mice"

53
brilliant

Sie können eine übergeordnete Funktion wie file_put_contents($filename, $content) verwenden, die dem Aufrufen von fopen(), fwrite() und fclose() entspricht, um Daten in eine Datei zu schreiben.

Dokumente: Datei_Ausgabe_Inhalte

71
Savageman

Betrachten Sie fwrite () :

<?php
$fp = fopen('lidn.txt', 'w');
fwrite($fp, 'Cats chase mice');
fclose($fp);
?>
46
sathish
$fp = fopen('lidn.txt', 'w');
fwrite($fp, 'Cats chase');
fwrite($fp, 'mice');
fclose($fp);

http://php.net/manual/de/function.fwrite.php

14
Pesse
$text = "Cats chase mice";
$filename = "somefile.txt";
$fh = fopen($filename, "a");
fwrite($fh, $text);
fclose($fh);

Sie verwenden fwrite()

6
lemon

Es ist einfach, eine Datei zu schreiben: 

$fp = fopen('lidn.txt', 'w');
fwrite($fp, 'Cats chase mice');
fclose($fp);

Ich verwende den folgenden Code, um Dateien in mein Webverzeichnis zu schreiben.

write_file.html

<form action="file.php"method="post">
<textarea name="code">Code goes here</textarea>
<input type="submit"value="submit">
</form>

write_file.php

<?php
// strip slashes before putting the form data into target file
$cd = stripslashes($_POST['code']);

// Show the msg, if the code string is empty
if (empty($cd))
    echo "Nothing to write";

// if the code string is not empty then open the target file and put form data in it
else
{
    $file = fopen("demo.php", "w");
    echo fwrite($file, $cd);

    // show a success msg 
    echo "data successfully entered";
    fclose($file);
}
?>

Dies ist ein Arbeitsskript. Achten Sie darauf, die URL in form action und die Zieldatei in fopen () zu ändern, wenn Sie sie auf Ihrer Site verwenden möchten. 

Viel Glück.

3
starkeen

fwrite() ist um einiges schneller und file_put_contents() ist sowieso nur ein Wrapper um diese drei Methoden, daher würden Sie den Overhead verlieren . Article

file_put_contents (Datei, Daten, Modus, Kontext):

Der file_put_contents schreibt eine Zeichenfolge in eine Datei.

Diese Funktion befolgt diese Regeln beim Zugriff auf eine Datei. Wenn FILE_USE_INCLUDE_PATH festgelegt ist, überprüfen Sie den Include-Pfad auf eine Kopie von Dateiname Erstellen Sie die Datei, falls diese nicht vorhanden ist. Öffnen Sie die Datei und sperren Sie die Datei, falls LOCK_EX ist gesetzt und wenn FILE_APPEND gesetzt ist, fahren Sie mit dem Ende der Datei fort. Andernfalls löschen Sie den Dateiinhalt Schreiben Sie die Daten in die Datei, und schließen Sie die Datei, und geben Sie alle Sperren frei .____ Diese Funktion gibt die Nummer des in die Datei geschriebenen Zeichens bei Erfolg zurück oder FALSE bei einem Fehler.

fwrite (Datei, String, Länge):

Die Variable fwrite schreibt in eine geöffnete Datei. Die Funktion stoppt am Ende der Datei oder bei Erreichen der angegebenen Länge...... Je nachdem, was zuerst eintritt. Diese Funktion gibt die Anzahl der geschriebenen Bytes zurück oder FALSE bei einem Fehler.

3
A.D.

Um in eine Datei in PHP zu schreiben, müssen Sie die folgenden Schritte ausführen:

  1. Öffne die Datei

  2. Schreiben Sie in die Datei

  3. Schließen Sie die Datei

    $select = "data what we trying to store in a file";
    $file = fopen("/var/www/htdocs/folder/test.txt", "a");
    fwrite($file  , $select->__toString());
         fclose($file );
    
2

Hier sind die Schritte:

  1. Öffne die Datei
  2. Schreiben Sie in die Datei
  3. Schließen Sie die Datei

    $select = "data what we trying to store in a file";
    $file = fopen("/var/www/htdocs/folder/test.txt", "w");        
    fwrite($file, $select->__toString());
    fclose($file);
    
0
user10603371