Hello,
How can i create in PHP a file with a given size (no matter the content)
Mike
I have to create a file bigger than 1GB. Arround 4-10GB maximum
Hello,
How can i create in PHP a file with a given size (no matter the content)
Mike
You can make use of fopen
and fseek
define('SIZE',100); // size of the file to be created.
$fp = fopen('somefile.txt', 'w'); // open in write mode.
fseek($fp, SIZE-1,SEEK_CUR); // seek to SIZE-1
fwrite($fp,'a'); // write a dummy char at SIZE position
fclose($fp); // close the file.
On execution:
$ php a.php
$ wc somefile.txt
0 1 100 somefile.txt
$
If the content of the file is irrelevant then just pad it - but do make sure you don't generate a variable too large to hold in memory:
$fh=open("somefile", 'w');
$size=10245;
$chunk=1024;
while ($size>0) {
fputs($fh, str_pad('', min($chunk,$size)));
$size-=$chunk;
}
flcose($fh);
If the file has to be readable by something else - then how you do it depends on the other thing which needs to read it.
C.