Скопировать содержимое файла в другой файл

Мой файл содержит этот контент (1.txt):

  • user.php? ID = XXXXXX
  • user.php? ID = XXXXXX
  • user.php? ID = XXXXXX
  • user.php? ID = XXXXXX
  • user.php? ID = XXXXXX
  • текст / цифры
  • user.php? ID = XXXXXX
  • user.php? ID = XXXXXX
  • и так далее …

(XXXXXX = числа)

Можно взять только user.php? Id = XXXXXX и скопировать их в другой файл, не справляясь с ненужным текстом, потому что файл содержит около 50 000 строк?

<?php //Get all the matches from the file $fileContents = file_get_contents('1.txt'); preg_match_all('/user.php\?id=[0-9]{6}/', $fileContents, $matches); //Output to new file $fh = fopen('output.txt', 'w+'); foreach ($matches['0'] as $match) { fputs($fh, $match."\r\n"); } fclose($fh); ?> 
  <?php $file = fopen('source.txt', 'rb'); $newfile = fopen('target.txt', 'wb'); while(($line = fgets($file)) !== false) { if(strpos($line, 'user.php') !== false) { fputs($newfile, $line); } } fclose($newfile); fclose($file); ?> 

Этот код не был протестирован, но я думаю, что он будет работать правильно.

 <?php error_reporting(0); $fs=fopen("1.txt", "r"); $ft=fopen("2.txt", "w"); if ($fs==NULL) { echo "Can't Open Source File ..."; exit(0); } if ($ft==NULL) { echo "Can't Open Destination File ..."; fclose ($fs); exit(1); } else { while ($ch=fgets($fs)) fputs($ft, $ch); fclose ($fs); fclose ($ft); } //echo "File Handling successfully ..."; ?>