function FileSecurity::writeFile
Same name in this branch
- 9 composer/Plugin/VendorHardening/FileSecurity.php \Drupal\Composer\Plugin\VendorHardening\FileSecurity::writeFile()
Same name in other branches
- 8.9.x composer/Plugin/VendorHardening/FileSecurity.php \Drupal\Composer\Plugin\VendorHardening\FileSecurity::writeFile()
- 8.9.x core/lib/Drupal/Component/FileSecurity/FileSecurity.php \Drupal\Component\FileSecurity\FileSecurity::writeFile()
- 10 composer/Plugin/VendorHardening/FileSecurity.php \Drupal\Composer\Plugin\VendorHardening\FileSecurity::writeFile()
- 10 core/lib/Drupal/Component/FileSecurity/FileSecurity.php \Drupal\Component\FileSecurity\FileSecurity::writeFile()
- 11.x composer/Plugin/VendorHardening/FileSecurity.php \Drupal\Composer\Plugin\VendorHardening\FileSecurity::writeFile()
- 11.x core/lib/Drupal/Component/FileSecurity/FileSecurity.php \Drupal\Component\FileSecurity\FileSecurity::writeFile()
Writes the contents to the file in the given directory.
Parameters
string $directory: The directory to write to.
string $filename: The file name.
string $contents: The file contents.
bool $force: TRUE if we should force the write over an existing file.
Return value
bool TRUE if writing the file was successful.
2 calls to FileSecurity::writeFile()
- FileSecurity::writeHtaccess in core/
lib/ Drupal/ Component/ FileSecurity/ FileSecurity.php - Writes an .htaccess file in the given directory, if it doesn't exist.
- FileSecurity::writeWebConfig in core/
lib/ Drupal/ Component/ FileSecurity/ FileSecurity.php - Writes a web.config file in the given directory, if it doesn't exist.
File
-
core/
lib/ Drupal/ Component/ FileSecurity/ FileSecurity.php, line 152
Class
- FileSecurity
- Provides file security functions.
Namespace
Drupal\Component\FileSecurityCode
protected static function writeFile($directory, $filename, $contents, $force) {
$file_path = $directory . DIRECTORY_SEPARATOR . $filename;
// Don't overwrite if the file exists unless forced.
if (file_exists($file_path) && !$force) {
return TRUE;
}
// Writing the file can fail if:
// - concurrent requests are both trying to write at the same time.
// - $directory does not exist or is not writable.
// Testing for these conditions introduces windows for concurrency issues to
// occur.
if (@file_put_contents($file_path, $contents)) {
return @chmod($file_path, 0444);
}
return FALSE;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.