Advertisement
floriantraun

csv diff

Jul 9th, 2015
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.13 KB | None | 0 0
  1. $file1_name = basename( $_FILES['file1']['name'] );
  2.     $file1_name = substr(md5(rand()), 0, 5). "-" .$file1_name;
  3.     $file2_name = basename( $_FILES['file2']['name'] );
  4.     $file2_name = substr(md5(rand()), 0, 5). "-" .$file2_name;
  5.  
  6.     if (move_uploaded_file($_FILES['file1']['tmp_name'], $file1_name) && move_uploaded_file($_FILES['file2']['tmp_name'], $file2_name) ) {
  7.  
  8.         $file1 = file($file1_name, FILE_IGNORE_NEW_LINES);
  9.         $file2 = file($file2_name, FILE_IGNORE_NEW_LINES);
  10.  
  11.         sort($file1);
  12.         sort($file2);
  13.  
  14.         $diff = array_diff($file2, $file1);
  15.         array_unshift($diff, $_POST['csv_cols']);
  16.         $output = substr(md5(rand()), 0, 5). "-output.csv";
  17.         file_put_contents($output, implode(PHP_EOL, $diff));
  18.  
  19.         unlink($file1_name);
  20.         unlink($file2_name);
  21.  
  22.         header('Content-Description: Download ' . $output);
  23.         header('Content-Type: application/force-download');
  24.         header("Content-Type: application/download");
  25.         header("Content-Length: " . filesize($output));
  26.         header("Content-disposition: attachment; filename=\"" . basename($output) . "\"");
  27.         readfile($output);
  28.         unlink($output);
  29.         exit;
  30.     } else {
  31.         echo "An unknown error occured";
  32.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement