首页  >  问答  >  正文

创建指定大小的php文件

如何在 PHP 中创建给定大小的文件(无论内容如何)?

我必须创建一个大于 1GB 的文件。最大大约 4-10GB

P粉221046425P粉221046425382 天前584

全部回复(2)我来回复

  • P粉561323975

    P粉5613239752023-10-27 11:36:14

    如果文件的内容不相关,则只需填充它 - 但请确保不会生成太大而无法保存在内存中的变量:

    <?php
    $fh = fopen("somefile", 'w');
    $size = 1024 * 1024 * 10; // 10mb
    $chunk = 1024;
    while ($size > 0) {
       fputs($fh, str_pad('', min($chunk,$size)));
       $size -= $chunk;
    }
    fclose($fh);

    如果文件必须被其他东西读取 - 那么你如何做到这一点取决于需要读取它的其他东西。

    C.

    回复
    0
  • P粉039633152

    P粉0396331522023-10-27 09:16:19

    您可以使用fopenfseek

    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.

    执行时:

    $ php a.php
    
    $ wc somefile.txt
      0   1 100 somefile.txt
    $

    回复
    0
  • 取消回复