Eventuali duplicati:
PHP: Is there a command that can delete the contents of a file without opening it?Svuotamento un file con PHP
Come si fa a svuotare un file .txt su un server con un comando php?
Eventuali duplicati:
PHP: Is there a command that can delete the contents of a file without opening it?Svuotamento un file con PHP
Come si fa a svuotare un file .txt su un server con un comando php?
Ecco un modo solo lo svuotamento se esiste già e che non hanno il problema di usare file_exists
, come il file può cessare di esiste tra la chiamata file_exists
e la chiamata fopen
.
$f = @fopen("filename.txt", "r+");
if ($f !== false) {
ftruncate($f, 0);
fclose($f);
}
Prima eliminarlo utilizzando unlink()
e quindi creare semplicemente un nuovo file vuoto con lo stesso nome.
$fh = fopen('filename.txt','w'); // Open and truncate the file
fclose($fh);
O in una linea e senza memorizzare l'handle di file (temporaneo):
fclose(fopen('filename.txt','w'));
Come altri hanno detto, questo crea il file nel caso in cui non esiste.
fclose (fopen ('filename.txt', 'w')); – ekerner
Scrivi una stringa vuota come il contenuto di filename.txt
:
file_put_contents('filename.txt', '');
Come indicato su php doc, questo è lo stesso di fopen, fwrite e fclose. Poiché fwrite non è richiesto, potrebbe essere un po 'più lento di fopen/fclose. – riha
Buono a sapersi, ho upvoted la tua risposta –
Basta aprirlo per la scrittura:
if (file_exists($path)) { // Make sure we don't create the file
$fp = fopen($path, 'w'); // Sets the file size to zero bytes
fclose($fp);
}
Con ftruncate()
: http://php.net/ftruncate
Per 'ftruncate()' devi prima 'fopen()'. Se si 'fopen()' per scrivere, il file è già troncato a zero byte. –
@Ferdinand dipende da come lo si apre. – Artefacto
@Artefacto in generale - sì. in questo caso particolare - è già troncato. Il tuo commento non ha senso e solo fastidioso pignolo. –
è possibile utilizzare il seguente codice
`
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "";
fwrite($fh, $stringData);
fclose($fh);
` Sostituisce semplicemente il contenuto del file in bianco
'unlink ($ file); $ fp = fopen ($ file, 'W'); fclose ($ fp); ' –
non hai alcun metodo fuori di testa? –
@Shakti perché scollegare? –