note 129183 added to function.file-put-contents
| From: | curda222 at gmail dot com | Date: | Mon, 22 Jan 2024 13:22:59 +0000 |
| Subject: | note 129183 added to function.file-put-contents | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-221137@lists.php.net to get a copy of this message | ||
An improved and enraptured code from TrentTompkins at gmail dot com
Note: Added error response
Note: Added directory detection
Note: Added root detection
Note: Added permissions when creating folder
function file_force_contents($dir, $contents, $flags = 0){
if (strpos($dir, "../") === 0){
$dir = str_replace("..", substr(__DIR__, 0, strrpos(__DIR__, "/")),
$dir);
}
$parts = explode('/', $dir);
if(is_array($parts)){
$file = array_pop($parts);
$dir = '';
foreach($parts as $part)
if(!is_dir($dir .= "/$part")){
mkdir($dir, 0777, true);
}
if(file_put_contents("$dir/$file", $contents, $flags) === false ){
return false;
}
}else{
if(file_put_contents("$dir", $contents, $flags) === false ){
return false;
}
}
}
-Oliver Leuyim Angel
----
Server IP: 45.112.84.4
Probable Submitter: 45.91.157.134 (proxied: 187.145.62.153)
----
Manual Page -- https://php.net/manual/en/function.file-put-contents.php
Edit -- https://main.php.net/note/edit/129183
Del: integrated -- https://main.php.net/note/delete/129183/integrated
Del: useless -- https://main.php.net/note/delete/129183/useless
Del: bad code -- https://main.php.net/note/delete/129183/bad+code
Del: spam -- https://main.php.net/note/delete/129183/spam
Del: non-english -- https://main.php.net/note/delete/129183/non-english
Del: in docs -- https://main.php.net/note/delete/129183/in+docs
Del: other reasons-- https://main.php.net/note/delete/129183
Reject -- https://main.php.net/note/reject/129183
Search -- https://main.php.net/manage/user-notes.php