Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- global $mp3s,$i,$j,$b,$perc_t;
- // **********************************************************************
- // VARS
- // **********************************************************************
- $mp3s = array ();
- $mp3dir = "F://mp3";
- $targetdir = "C://apps//test//";
- //$maxsize = 50000000; // 50 mb
- $maxsize = 500000000; // 500 mb
- //$maxsize = 6000000000; // 6000 mb
- $i=0;
- $j=0;
- $b=0;
- $totalsize=0;
- $perc_t=0;
- $m=0;
- // **********************************************************************
- // FUNCTIONS
- // **********************************************************************
- function read_dir($dir) {
- global $mp3s,$i,$j,$b;
- $d = dir($dir);
- while (false !== ($entry = $d->read())) {
- if ($entry[0] != ".") {
- if (is_dir($dir."//".$entry)) {
- read_dir($dir."//".$entry);
- } else {
- if (substr($entry,strlen($entry)-3,3) == "mp3") {
- $mp3s[$i]['dir'] = $dir."//";
- $mp3s[$i]['filename'] = $entry;
- $mp3s[$i]['filesize'] = @filesize($dir."//".$entry);
- $b = $b + $mp3s[$i]['filesize'];
- $i++;
- } else {
- $j++;
- }
- }
- }
- }
- }
- function print_perc($perc) {
- global $perc_t;
- $step=5;
- if ($perc > $perc_t) {
- $perc_t += $step;
- return $perc . "%\n";
- }
- }
- // **********************************************************************
- // MAIN PROGRAM
- // **********************************************************************
- // READ MP3 FILES
- if (is_dir($mp3dir)) {
- read_dir($mp3dir);
- }
- // SEARCH INFORMATION
- echo "A total of " . $i . " mp3 files are found\n";
- echo "Also, " . $j . " other files were found, bringing a total of " . ($i+$j) . " files\n";
- echo "Total mp3 size is " . $b . " bytes\n";
- echo "Average mp3 filesize is " . round($b/$i,0) . " bytes\n";
- echo "Targetdir limit is " . $maxsize . " bytes\n";
- echo "Checking for disk space ... ";
- if (disk_free_space($targetdir) > $maxsize) {
- echo "OK\n";
- } else {
- $maxsize = disk_free_space($targetdir) - 1000;
- echo "WARNING, not enough disk space. Setting maxsize to " . $maxsize . "\n";
- }
- echo "Estimate number of mp3 files that will be copied is " . round($maxsize/($b/$i)) . "\n";
- // COPY MP3 FILES
- while ($totalsize < $maxsize) {
- $n = rand(0,$i);
- if (($totalsize+$mp3s[$n]['filesize']) < $maxsize) {
- //copy($mp3s[$n]['dir'].$mp3s[$n]['filename'],$targetdir.$mp3s[$n]['filename']);
- $totalsize += $mp3s[$n]['filesize'];
- // calculate %
- echo print_perc (round($totalsize / $maxsize * 100,0));
- $m++;
- } else {
- $totalsize += $mp3s[$n]['filesize'];
- }
- }
- echo $m . " mp3 files copied to " . $targetdir . "\n";
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement