file_create_htaccess
function file_create_htaccess
file_create_htaccess($directory, $private = TRUE, $force_overwrite = FALSE)
Creates a .htaccess file in the given directory.
Parameters
$directory: The directory.
$private: FALSE indicates that $directory should be an open and public directory. The default is TRUE which indicates a private and protected directory.
$force_overwrite: Set to TRUE to attempt to overwrite the existing .htaccess file if one is already present. Defaults to FALSE.
Related topics
File
- includes/file.inc, line 477
- API for handling file uploads and server file management.
Code
function file_create_htaccess($directory, $private = TRUE, $force_overwrite = FALSE) { if (file_uri_scheme($directory)) { $directory = file_stream_wrapper_uri_normalize($directory); } else { $directory = rtrim($directory, '/\\'); } $htaccess_path = $directory . '/.htaccess'; if (file_exists($htaccess_path) && !$force_overwrite) { // Short circuit if the .htaccess file already exists. return; } $htaccess_lines = file_htaccess_lines($private); // Write the .htaccess file. if (file_put_contents($htaccess_path, $htaccess_lines)) { drupal_chmod($htaccess_path, 0444); } else { $variables = array('%directory' => $directory, '!htaccess' => '<br />' . nl2br(check_plain($htaccess_lines))); watchdog('security', "Security warning: Couldn't write .htaccess file. Please create a .htaccess file in your %directory directory which contains the following lines: <code>!htaccess</code>", $variables, WATCHDOG_ERROR); } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!file.inc/function/file_create_htaccess/7.x