Maison  >  Questions et réponses  >  le corps du texte

Créer un fichier php de la taille spécifiée

Comment créer un fichier d'une taille donnée (quel que soit son contenu) en PHP ?

Je dois créer un fichier de plus de 1 Go. Maximum environ 4 à 10 Go

P粉221046425P粉221046425333 Il y a quelques jours547

répondre à tous(2)je répondrai

  • P粉561323975

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

    Si le contenu du fichier n'est pas pertinent, remplissez-le simplement - mais assurez-vous de ne pas générer de variables trop volumineuses pour être conservées en mémoire :

    <?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);

    Si le fichier doit être lu par autre chose, la façon dont vous le faites dépend de ce qui doit le lire.

    C.

    répondre
    0
  • P粉039633152

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

    Vous pouvez utiliser 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.

    Une fois exécuté :

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

    répondre
    0
  • Annulerrépondre