<?php

  
require_once( "CopyThreadPool.php" );

  
// Number of copy threads.
  
$MaxCopyThreads 20;

  
$MainPage 'http://www.somesite.com';
  
$Path     'somepath';
  
$List     'list.html';

  
// Make sure script doesn't time out.
  
set_time_limit);

  
// Create worker threads.
  
$ThreadPool = new ThreadPool$MaxCopyThreads );

  
// Main loop.
  
$html 
    
implode'' file$List ) );

  
// Find all links to images.
  
$Status 
    
preg_match_all
      
'/href=\"([a-z0-9]+\.jpg)\"/i' 
      
$html 
      
$Matches ,
      
PREG_SET_ORDER );

  
// For each image link found...
  
foreach ( $Matches as $Match )
  {
    
$InputName  $MainPage '/' $Path "/" $Match];
    
$OutputName $Match];

    
// Copy the file.
    
$ThreadPool->Queue$InputName$OutputName );
  }

  
// Wait for all copies to finish.
  
$ThreadPool->WaitForThreadsToFinish();

?>