public function writeFile($dir = null, $file = null, $md5 = null, $raw = null)
    {
        //====================================================================//
        // Safety Checks
        if (!$this->isWriteValidInputs($dir, $file, $md5, $raw)) {
            return false;
        }
        //====================================================================//
        // Assemble full Filename
        $fullpath = $dir.$file;
        //====================================================================//
        // Check if folder exists or create it
        if (!is_dir((string) $dir)) {
            mkdir((string) $dir, 0775, true);
        }
        //====================================================================//
        // Check if folder exists
        if (!is_dir((string) $dir)) {
            Splash::log()->war("ErrFileDirNoExists", __FUNCTION__, $dir);
        }
        //====================================================================//
        // Check if file exists
        if (is_file($fullpath)) {
            Splash::log()->deb("MsgFileExists", __FUNCTION__, $file);
            //====================================================================//
            // Check if file is different
            if ($md5 === md5_file($fullpath)) {
                return true;
            }
            //====================================================================//
            // Check if file is writable
            if (!is_writable((string) $fullpath)) {
                return Splash::log()->err("ErrFileWriteable", __FUNCTION__, $file);
            }
        }
        //====================================================================//
        // Open File
        $filehandle = fopen($fullpath, 'w');
        if (false == $filehandle) {
            return Splash::log()->war("ErrFileOpen", __FUNCTION__, $fullpath);
        }

        //====================================================================//
        // Write file
        fwrite($filehandle, (string)  base64_decode((string) $raw, true));
        fclose($filehandle);
        clearstatcache();

        //====================================================================//
        // Verify file checksum
        if ($md5 !== md5_file($fullpath)) {
            return Splash::log()->err("ErrFileWrite", __FUNCTION__, $file);
        }

        return true;
    }
public function writeFile($dir = null, $file = null, $md5 = null, $raw = null)
    {
        //====================================================================//
        // Safety Checks
        if (!$this->isWriteValidInputs($dir, $file, $md5, $raw)) {
            return false;
        }
        //====================================================================//
        // Assemble full Filename
        $fullpath = $dir.$file;
        //====================================================================//
        // Check if folder exists or create it
        if (!is_dir((string) $dir)) {
            mkdir((string) $dir, 0775, true);
        }
        //====================================================================//
        // Check if folder exists
        if (!is_dir((string) $dir)) {
            Splash::log()->war("ErrFileDirNoExists", __FUNCTION__, $dir);
        }
        //====================================================================//
        // Check if file exists
        if (is_file($fullpath)) {
            Splash::log()->deb("MsgFileExists", __FUNCTION__, $file);
            //====================================================================//
            // Check if file is different
            if ($md5 === md5_file($fullpath)) {
                return true;
            }
            //====================================================================//
            // Check if file is writable
            if (!is_writable((string) $fullpath)) {
                return Splash::log()->err("ErrFileWriteable", __FUNCTION__, $file);
            }
        }
        //====================================================================//
        // Open File
        $filehandle = fopen($fullpath, 'w');
        if (false == $filehandle) {
            return Splash::log()->war("ErrFileOpen", __FUNCTION__, $fullpath);
        }

        //====================================================================//
        // Write file
        fwrite($filehandle, (string)  base64_decode((string) $raw, true));
        fclose($filehandle);
        clearstatcache();

        //====================================================================//
        // Verify file checksum
        if ($md5 !== md5_file($fullpath)) {
            return Splash::log()->err("ErrFileWrite", __FUNCTION__, $file);
        }

        return true;
    }
public function writeFile ( $ dir = null , $ file = null , $ md5 = null , $ raw = null ) { //====================================================================// // Safety Checks if ( ! $ this -> isWriteValidInputs ( $ dir , $ file , $ md5 , $ raw ) ) { return false ; } //====================================================================// // Assemble full Filename $ fullpath = $ dir . $ file ; //====================================================================// // Check if folder exists or create it if ( ! is_dir ( ( string ) $ dir ) ) { mkdir ( ( string ) $ dir , 0775 , true ) ; } //====================================================================// // Check if folder exists if ( ! is_dir ( ( string ) $ dir ) ) { Splash :: log ( ) -> war ( "ErrFileDirNoExists" , __FUNCTION__ , $ dir ) ; } //====================================================================// // Check if file exists if ( is_file ( $ fullpath ) ) { Splash :: log ( ) -> deb ( "MsgFileExists" , __FUNCTION__ , $ file ) ; //====================================================================// // Check if file is different if ( $ md5 === md5_file ( $ fullpath ) ) { return true ; } //====================================================================// // Check if file is writable if ( ! is_writable ( ( string ) $ fullpath ) ) { return Splash :: log ( ) -> err ( "ErrFileWriteable" , __FUNCTION__ , $ file ) ; } } //====================================================================// // Open File $ filehandle = fopen ( $ fullpath , 'w' ) ; if ( false == $ filehandle ) { return Splash :: log ( ) -> war ( "ErrFileOpen" , __FUNCTION__ , $ fullpath ) ; } //====================================================================// // Write file fwrite ( $ filehandle , ( string ) base64_decode ( ( string ) $ raw , true ) ) ; fclose ( $ filehandle ) ; clearstatcache ( ) ; //====================================================================// // Verify file checksum if ( $ md5 !== md5_file ( $ fullpath ) ) { return Splash :: log ( ) -> err ( "ErrFileWrite" , __FUNCTION__ , $ file ) ; } return true ; }
Write a file on local filesystem

@remark      For all function used remotly, all parameters have default predefined values
in order to avoid remote execution errors.

@param string $dir  Local File Directory
@param string $file Local FileName
@param string $md5  File MD5 Checksum
@param string $raw  Raw File Contents (base64 Encoded)

@return bool
Write a file on local filesystem