woonem
@woonem

Как удалить последний символ из файла?

Файл большой, поэтому такой способ (операции со строкой) не подойдёт:
$f=fopen($file, 'r');
$fcontent=fread($f); //нельзя загружать файл в память - он может не влезть или скрипт будет медленно работать
fclose($f);
$f=fopen($file, 'w');
fwrite($f, substr($fcontent, 0, -1));
fclose($f);
  • Вопрос задан
  • 981 просмотр
Решения вопроса 2
romy4
@romy4
Exception handler
узнайте размер файла и вот php.net/manual/ru/function.ftruncate.php
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
➜  /tmp  ll foo.bar
-rw-rw-r-- 1 miraage miraage 87 Nov 25 17:47 foo.bar
➜  /tmp  php -a
Interactive mode enabled

php > $size = filesize('foo.bar');
php > var_dump($size);
int(87)
php > $f = fopen('foo.bar', 'a+b');
php > ftruncate($f, $size - 1);
php > fclose($f);
php >
➜  /tmp  ll foo.bar
-rw-rw-r-- 1 miraage miraage 86 Nov 25 17:48 foo.bar
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы