Reading a file uploade in my module without saving it
Ok I figured it out myself!

function my_module_upload_form_submit($form, &amp;$form_state) {
    //saved the file into a tmp folder (location to save not set)
    //this will also add a pointer in the database
    $file = file_save_upload('upload', array(
        'file_validate_extensions' =&gt; array('txt'),
    ));

    //get the content in the file
    $content = file_get_contents($file-&gt;uri);

    //remove the file in temp and the pointer in the database
    file_delete($file);
}