Очистка содержимого текстового файла с помощью php
У меня есть filelist.txt файл
И я создаю clear.php файл для очистки содержимого списка файлов
В index.html я нажал кнопку, чтобы позвонить clear.php чтобы очистить
Может ли кто-нибудь помочь мне в отношении:
В каком php-коде мне следует писать clear.php
Как закодировать кнопку для вызова clear.php а затем вернитесь обратно в index.html показывая результат, что он был очищен?
Спасибо
7 answers
file_put_contents("filelist.txt", "");
Вы можете перенаправить, используя функцию header(), чтобы изменить заголовок местоположения.
Это приведет к усечению файла:
$fh = fopen( 'filelist.txt', 'w' );
fclose($fh);
В clear.php, перенаправьте на страницу вызывающего абонента, используя значение $_SERVER['HTTP_REFERER']
.
//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");
Я точно не знаю, где вы хотите показать результат.
Для добавления кнопки вы можете использовать либо библиотеки jQuery, либо простой скрипт Javascript, как показано ниже:
HTML ссылка или кнопка:
<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>
Используйте PHP для очистки содержимого файла. Например, вы можете использовать fseek ($fp, 0); или ftruncate (файл ресурса $, размер int $), как показано ниже:
<?php
//open file to write
$fp = fopen("/tmp/file.txt", "r+");
// clear content to 0 bits
ftruncate($fp, 0);
//close file
fclose($fp);
?>
Перенаправление PHP - вы можете использовать заголовок (строка $string [, bool $replace = true [, int $http_response_код ]] )
<?php
header('Location: getbacktoindex.html');
?>
Я надеюсь, что это поможет.
Используйте 'w'
и не, 'a'
.
if (!$handle = fopen($file, 'w'))
Попробуйте fopen() http://www.php.net/manual/en/function.fopen.php
Режим W как приведет к усечению файла.
$fp = fopen("$address",'w+');
if(!$fp)
echo 'not Open';
//-----------------------------------
while(!feof($fp))
{
fputs($fp,' ',999);
}
fclose($fp);