1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
--TEST--
ftruncate() tests
--FILE--
<?php
$filename = __DIR__."/ftruncate.dat";
file_put_contents($filename, "some test data inside");
$fp = fopen($filename, "r");
var_dump(ftruncate($fp, 10));
fclose($fp);
var_dump(file_get_contents($filename));
$fp = fopen($filename, "w");
var_dump(ftruncate($fp, 10));
fclose($fp);
var_dump(file_get_contents($filename));
file_put_contents($filename, "some test data inside");
$fp = fopen($filename, "a");
var_dump(ftruncate($fp, 10));
fclose($fp);
var_dump(file_get_contents($filename));
$fp = fopen($filename, "a");
var_dump(ftruncate($fp, 0));
fclose($fp);
var_dump(file_get_contents($filename));
file_put_contents($filename, "some test data inside");
$fp = fopen($filename, "a");
try {
var_dump(ftruncate($fp, -1000000000));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
fclose($fp);
var_dump(file_get_contents($filename));
@unlink($filename);
?>
--EXPECTF--
bool(false)
string(21) "some test data inside"
bool(true)
string(10) "%0%0%0%0%0%0%0%0%0%0"
bool(true)
string(10) "some test "
bool(true)
string(0) ""
ftruncate(): Argument #2 ($size) must be greater than or equal to 0
string(21) "some test data inside"
|