У меня есть небольшой скрипт php, который удаляет последний символ файла.
$contents = file_get_contents($path); rtrim($contents); $contents = substr($contents, 0, -1); $fh = fopen($path, 'w') or die("can't open file"); fwrite($fh, $contents); fclose($fh);
Таким образом, он считывает содержимое файла, удаляет последний символ, а затем обрезает файл и записывает в него строку. Все это прекрасно работает.
Мое беспокойство состоит в том, что этот файл может содержать много данных, а вызов file_get_contents () будет содержать все эти данные в памяти, что потенциально может привести к максимальному удалению памяти моих серверов.
Есть ли более эффективный способ удалить последний символ из файла?
благодаря
Попробуй это
$fh = fopen($path, 'r+') or die("can't open file"); $stat = fstat($fh); ftruncate($fh, $stat['size']-1); fclose($fh);
Для получения дополнительной помощи см. Это