You can use the ini_set() function to set a directive's  value in your scripts provided the "CHANGEABLE" attribute in the above chart is PHP_INI_USER or PHP_INI_ALL.
In order for these settings to work in your htaccess file, you will need to add "Options" to your AllowOverride specifications for the directory/webserver if it's not already allowed.
PHP_INI_SYSTEM can be configured per-directory by placing it inside a per-directory block in httpd.conf.
    # Selectively enable APC for wildly popular directories
    # apc.enabled is Off in php.ini to reduce memory use
    <Directory /usr/local/apache2/htdocs/forum>
        php_flag apc.enabled On
    </Directory>
In .htaccess, only true/false on/off flags can be set using php_flag. To set other values you need to use php_value, like this:
php_value upload_max_filesize 20M
add settings to a .htaccess file with 'php_flag' like this:
php_flag register_globals off
php_flag magic_quotes_gpc on