Run filter if only it was run from specific admin page ( ‘upload_dir’ changed )

Adding filter:

add_filter( 'upload_dir', 'change_upload_dir', 10, 1 );

Function content:

 function change_upload_dir($param) {
        // Check for REFER
        $actual_page = $_SERVER['HTTP_REFERER'];
        parse_str( parse_url($actual_page, PHP_URL_QUERY), $query_array );

            if ( strpos($actual_page, 'plugin_name.php') ) {
            $mydir="/customdir";
            $param['path'] = $param['basedir'] . $mydir;
        }

        return $param;
    }

Hope this will help

Other ideas, based not on HTTP_REFERER, are appreciated 🙂