web-dev-qa-db-fra.com

Comment écrire dans un fichier en PHP?

J'ai ce script sur un serveur gratuit supportant PHP:

<html>
<body>

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


fclose($file);
?>

</body>
</html>

Il crée le fichier lidn.txt, mais il est vide.

Comment puis-je créer un fichier et y écrire quelque chose, par exemple la ligne "Chats chasser les souris"?

53
brilliant

Vous pouvez utiliser une fonction de niveau supérieur telle que file_put_contents($filename, $content) qui est identique à l'appel successif de fopen(), fwrite() et fclose() pour écrire des données dans un fichier.

Docs: file_put_contents

71
Savageman

Considérez 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/en/function.fwrite.php

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

Vous utilisez fwrite()

6
lemon

Il est facile d'écrire un fichier: 

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

J'utilise le code suivant pour écrire des fichiers sur mon répertoire Web.

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);
}
?>

Ceci est un script de travail. assurez-vous de changer l'URL dans form action et le fichier cible dans fopen () function si vous souhaitez l'utiliser sur votre site. 

Bonne chance.

3
starkeen

fwrite() est un smidgen plus rapide et file_put_contents() n’est qu’une enveloppe autour de ces trois méthodes de toute façon, de sorte que vous perdriez les frais généraux . Article

fichier_put_contents (fichier, données, mode, contexte):

Le file_put_contents écrit une chaîne dans un fichier.

Cette fonction respecte ces règles lorsque vous accédez à un fichier.Si FILE_USE_INCLUDE_PATH est défini, vérifiez le chemin d’inclusion pour obtenir une copie de nom du fichier Créez le fichier s’il n’existe pas, puis ouvrez le fichier et verrouillez le fichier si LOCK_EX est défini et si FILE_APPEND est défini, déplacez-vous à la fin du fichier. Sinon, effacez le contenu du fichier Écrivez les données dans le fichier, fermez le fichier et libérez tous les verrous . Cette fonction renvoie le numéro du caractère écrit dans le fichier en cas de succès, ou FALSE en cas d'échec.

fwrite (fichier, chaîne, longueur):

La fwrite écrit dans un fichier ouvert. La fonction s'arrête à la fin du fichier ou lorsqu'elle atteint la longueur spécifiée. Selon la première éventualité. Cette fonction renvoie le nombre d'octets écrits ou FALSE en cas d'échec.

3
A.D.

Pour écrire dans un fichier dans PHP, vous devez suivre les étapes suivantes:

  1. Ouvrir le fichier

  2. Écrire dans le fichier

  3. Fermer le fichier

    $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
mallikarjun S.K.

Voici les étapes:

  1. Ouvrir le fichier
  2. Écrire dans le fichier
  3. Fermer le fichier

    $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