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