Очистка файла с помощью php

Возможный дубликат:
PHP: есть ли команда, которая может удалить содержимое файла, не открывая его?

Как очистить файл.txt на сервере с помощью команды php?

7 ответов

Решение

Вот способ только опустошения, если оно уже существует, и у которого нет проблемы использования file_exists, поскольку файл может перестать существовать между file_exists вызов и fopen вызов.

$f = @fopen("filename.txt", "r+");
if ($f !== false) {
    ftruncate($f, 0);
    fclose($f);
}

Напишите пустую строку в качестве содержимого filename.txt:

file_put_contents('filename.txt', '');
$fh = fopen('filename.txt','w'); // Open and truncate the file
fclose($fh);

Или в одну строку и без сохранения (временного) дескриптора файла:

fclose(fopen('filename.txt','w'));

Как уже говорили другие, это создает файл в случае, если он не существует.

Просто откройте его для записи:

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

С ftruncate(): http://php.net/ftruncate

Сначала удалите его, используя unlink() а затем просто создайте новый пустой файл с тем же именем.

Вы можете использовать следующий код

`

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "";
fwrite($fh, $stringData);
fclose($fh);

`Он просто переопределит содержимое вашего файла на пустое

Другие вопросы по тегам