Возможный дубликат:
PHP: Есть ли команда, которая может удалить содержимое файла без его открытия?
Как вы удаляете .txt-файл на сервере с помощью команды php?
Это способ только опорожнения, если он уже существует и который не имеет проблемы с использованием file_exists
, так как файл может перестать существовать между вызовом file_exists
вызовом fopen
.
$f = @fopen("filename.txt", "r+"); if ($f !== false) { ftruncate($f, 0); fclose($f); }
$fh = fopen('filename.txt','w'); // Open and truncate the file fclose($fh);
Или в одной строке и без сохранения (временного) дескриптора файла:
fclose(fopen('filename.txt','w'));
Как утверждали другие, это создает файл, если он не существует.
Напишите пустую строку в качестве содержимого filename.txt
:
file_put_contents('filename.txt', '');
Просто откройте его для написания:
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); }
Сначала удалите его с помощью unlink()
а затем просто создайте новый пустой файл с тем же именем.
С помощью ftruncate()
: http://php.net/ftruncate
вы можете использовать следующий код
`
$myFile = "testFile.txt"; $fh = fopen($myFile, 'w') or die("can't open file"); $stringData = ""; fwrite($fh, $stringData); fclose($fh);
`Он просто переопределит содержимое вашего файла пустым