Supported Versions: PHP 4, PHP 5, PHP 7, PHP 8
Returns a parent directory's path
<?php dirname(string $path, int $levels = 1): string
<?php                         $tempFileName,

                        $m[1],

                        $m[2],

                        @disk_free_space(dirname($tempFileName))

                    );



                    $this->io->writeError($message);
<?php     {

        if ($this->isEnabled() && !$this->readOnly) {

            $file = Preg::replace('{[^'.$this->allowlist.']}i', '-', $file);

            $this->filesystem->ensureDirectoryExists(dirname($this->root . $file));



            if (!file_exists($source)) {

                $this->io->writeError('<error>'.$source.' does not exist, can not write into cache</error>');
<?php         $authConfigFile = $input->getOption('global')

            ? ($this->config->get('home') . '/auth.json')

            : dirname(realpath($configFile)) . '/auth.json';



        $this->authConfigFile = new JsonFile($authConfigFile, null, $io);

        $this->authConfigSource = new JsonConfigSource($this->authConfigFile, true);
<?php         }




        $tmpDir = is_writable(dirname($localFilename)) ? dirname($localFilename) : $cacheDir;




        if (!is_writable($tmpDir)) {
<?php             return true;

        } catch (\Exception $e) {


            if (!is_writable(dirname($localFilename))

                && $io->isInteractive()

                && $this->isWindowsNonAdminUser()) {

                return $this->tryAsWindowsAdmin($localFilename, $newFilename);
<?php     private function getRelativeFilePath($file)

    {

        $realPath = $file->getRealPath();

        $pathPrefix = dirname(dirname(__DIR__)).DIRECTORY_SEPARATOR;



        $pos = strpos($realPath, $pathPrefix);

        $relativePath = ($pos !== false) ? substr_replace($realPath, '', $pos, strlen($pathPrefix)) : $realPath;
<?php         if ($io->isInteractive() && !$newWorkDir && !in_array($commandName, array('', 'list', 'init', 'about', 'help', 'diagnose', 'self-update', 'global', 'create-project', 'outdated'), true) && !file_exists(Factory::getComposerFile()) && ($useParentDirIfNoJsonAvailable = $this->getUseParentDirConfigValue()) !== false) {

            $dir = dirname(getcwd());

            $home = realpath(Platform::getEnv('HOME') ?: Platform::getEnv('USERPROFILE') ?: '/');
<?php             $home = realpath(Platform::getEnv('HOME') ?: Platform::getEnv('USERPROFILE') ?: '/');




            while (dirname($dir) !== $dir && $dir !== $home) {

                if (file_exists($dir.'/'.Factory::getComposerFile())) {

                    if ($useParentDirIfNoJsonAvailable === true || $io->askConfirmation('<info>No composer.json in current directory, do you want to use the one at '.$dir.'?</info> [<comment>Y,n</comment>]? ')) {

                        if ($useParentDirIfNoJsonAvailable === true) {
<?php                     }

                    break;

                }

                $dir = dirname($dir);

            }

        }
<?php     public function download(PackageInterface $package, $targetDir, PackageInterface $prevPackage = null)

    {

        $targetDir = $this->normalizeTargetDir($targetDir);

        $this->filesystem->ensureDirectoryExists(dirname($targetDir));



        $sources = $this->getAvailableSources($package, $prevPackage);
<?php         $fileName = $this->getFileName($package, $path);

        $this->filesystem->ensureDirectoryExists($path);

        $this->filesystem->ensureDirectoryExists(dirname($fileName));



        $io = $this->io;

        $cache = $this->cache;
<?php             while (!is_dir($basePath) && $basePath !== '\\') {

                array_unshift($removed, basename($basePath));

                $basePath = dirname($basePath);

            }



            if ($basePath === '\\') {
<?php             $io->writeError('Loading config file ' . $composerFile .' ('.realpath($composerFile).')', true, IOInterface::DEBUG);

            $config->setConfigSource(new JsonConfigSource(new JsonFile(realpath($composerFile), null, $io)));



            $localAuthFile = new JsonFile(dirname(realpath($composerFile)) . '/auth.json', null, $io);

            if ($localAuthFile->exists()) {

                $io->writeError('Loading config file ' . $localAuthFile->getPath(), true, IOInterface::DEBUG);

                $config->merge(array('config' => $localAuthFile->read()), $localAuthFile->getPath());
<?php     {

        $binPath = $this->filesystem->findShortestPath($link, $bin);



        $binDir = ProcessExecutor::escape(dirname($binPath));

        $binFile = basename($binPath);



        $binContents = file_get_contents($bin);
<?php             $repo->removePackage($package);



            if (strpos($package->getName(), '/')) {

                $packageVendorDir = dirname($downloadPath);

                if (is_dir($packageVendorDir) && $filesystem->isDirEmpty($packageVendorDir)) {

                    Silencer::call('rmdir', $packageVendorDir);

                }