web-dev-qa-db-fra.com

Effacement du contenu d'un fichier texte à l'aide de php

J'ai un fichier filelist.txt et j'ai créé un fichier appelé clear.php pour effacer le contenu de la liste des fichiers.

Je mets un bouton dans index.html pour appeler clear.php pour effacer le fichier.

Quelqu'un peut-il m'aider concernant le code PHP que je devrais écrire dans clear.php?

Comment coder un bouton pour appeler clear.php puis revenir à index.html en indiquant le résultat qui a été effacé?

45
Subho Halder

Cela tronquerait le fichier:

$fh = fopen( 'filelist.txt', 'w' );
fclose($fh);

En clear.php, redirigez vers la page de l'appelant en utilisant la valeur $_SERVER['HTTP_REFERER'].

32
Alan Haggai Alavi
//create a file handler by opening the file
$myTextFileHandler = @fopen("filelist.txt","r+");

//truncate the file to zero
//or you could have used the write method and written nothing to it
@ftruncate($myTextFileHandler, 0);

//use location header to go back to index.html
header("Location:index.html");

Je ne sais pas exactement où tu veux montrer le résultat.

16
Tyr

Pour ajouter button, vous pouvez utiliser les bibliothèques jQuery ou un script Javascript simple, comme indiqué ci-dessous:

HTML lien ou bouton:

<a href="#" onClick="goclear()" id="button">click event</a>

Javascript:

<script type="text/javascript">
var btn = document.getElementById('button');
function goclear() { 
alert("Handler called. Page will redirect to clear.php");
document.location.href = "clear.php";
};
</script>

Utilisez PHP pour effacer le contenu d'un fichier. Par exemple, vous pouvez utiliser le fseek ($ fp, 0); ou ftruncate (ressource $ fichier, int $ taille) comme ci-dessous:

<?php
//open file to write
$fp = fopen("/tmp/file.txt", "r+");
// clear content to 0 bits
ftruncate($fp, 0);
//close file
fclose($fp);
?>

Redirect PHP - vous pouvez utiliser header (chaîne $ string [ bool $ remplacer = true [ int $ http_response_code]])

<?php
header('Location: getbacktoindex.html');
?>

J'espère que c'est de l'aide.

4
Dariusz J

Utilisez 'w' et non, 'a'.

if (!$handle = fopen($file, 'w'))
3
user268740

Essayez fopen () http://www.php.net/manual/en/function.fopen.php

w as mode tronquera le fichier.

2
Fredrik
 $fp = fopen("$address",'w+');
 if(!$fp)
    echo 'not Open';
        //-----------------------------------
 while(!feof($fp))
     {
        fputs($fp,' ',999);                    
     } 

 fclose($fp);
0
Javad Masoumi