Ну, я не уверен, что это можно исправить, не перемещая загруженный файл.
Лично я бы реализовал это так:
На странице, которая получает загруженный файл:
//assuming it hasn't already been started...
session_start();
//generate a unique filepath
$filepath = PATH_TO_THE_DIR . "/" . time() .
"_" . md5_file($_FILES['formelement']['tmp_name']) . ".csv";
//move the uploaded file
move_uploaded_file($_FILES['formelement']['tmp_name'], $filepath);
//do whatever you need with the file, now at $filepath
//now store the filepath in the session:
$_SESSION['uploaded_filepath'] = $filepath;
session_write_close();
На второй странице, когда вы хотите сделать больше обработки:
//assuming it hasn't already been started...
session_start();
$filepath = $_SESSION['uploaded_filepath'];
// do whatever you need to with the file
unlink($filepath);
unset($_SESSION['uploaded_filepath']);
session_write_close();
Это должно быть хорошо - очевидно, вам нужно проверить разрешения для PATH_TO_THE_DIR
константа, которая будет просто каталогом где-то.