I suppose a fair number of us know this:
However, for those who don't:-
If you are truncating a file, say, to $fileObject->ftruncate(0), then, it may be advisable to call $fileObject->fseek(0) first (before you call '$fileObject->ftruncate').
On inspection, I was encountering 'NULL' characters at the beginning of a, or the, file.
Hence, from what I have surmised; when 'ftruncate()' is called, the file pointer does NOT move to the beginning (or, at least, the required position) of the file.
This issue cost me a fair amount of time to figure out, so I hope it helps someone.SplFileObject::ftruncate
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
SplFileObject::ftruncate
Референца за `splfileobject.ftruncate.php` со подобрена типографија и навигација.
SplFileObject::ftruncate
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
SplFileObject::ftruncate — Ја скратува датотеката на дадена должина
Параметри
size-
Големината на која треба да се скрати.
Забелешка:
Враќа
sizeе поголема од датотеката, таа се продолжува со нула бајти.Враќа
sizeе помала од датотеката, дополнителните податоци ќе бидат изгубени.
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
Примери
Пример #1 SplFileObject::ftruncate() example
<?php
// Create file containing "Hello World!"
$file = new SplFileObject("/tmp/ftruncate", "w+");
$file->fwrite("Hello World!");
// Truncate to 5 bytes
$file->ftruncate(5);
// Rewind and read data
$file->rewind();
echo $file->fgets();
?>Горниот пример ќе прикаже нешто слично на:
Hello