Supported Versions: PHP 4, PHP 5, PHP 7, PHP 8
Tells whether the filename is writable
Alias is_writeable
<?php is_writable(string $filename): bool
<?php             if (

                (!is_dir($this->root) && !Silencer::call('mkdir', $this->root, 0777, true))

                || !is_writable($this->root)

            ) {

                $this->io->writeError('<warning>Cannot create cache directory ' . $this->root . ', or directory is not writable. Proceeding without cache</warning>');

                $this->enabled = false;
<?php         if (!is_writable($this->file) && !Silencer::call('file_put_contents', $this->file, $this->composerBackup)) {

            $io->writeError('<error>'.$this->file.' is not writable.</error>');



            return 1;
<?php         }




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




        if (!is_writable($tmpDir)) {
<?php         $tmpDir = is_writable(dirname($localFilename)) ? dirname($localFilename) : $cacheDir;




        if (!is_writable($tmpDir)) {

            throw new FilesystemException('Composer update failed: the "'.$tmpDir.'" directory used to download the temp file could not be written');

        }
<?php             return true;

        } catch (\Exception $e) {


            if (!is_writable(dirname($localFilename))

                && $io->isInteractive()

                && $this->isWindowsNonAdminUser()) {

                return $this->tryAsWindowsAdmin($localFilename, $newFilename);
<?php         $fallback = array_pop($args);



        if ($this->file->exists()) {

            if (!is_writable($this->file->getPath())) {

                throw new \RuntimeException(sprintf('The file "%s" is not writable.', $this->file->getPath()));

            }
<?php         $fs = new Filesystem();

        $fs->ensureDirectoryExists($this->checkoutDir);



        if (!is_writable(dirname($this->checkoutDir))) {

            throw new \RuntimeException('Can not clone '.$this->url.' to access package information. The "'.$this->checkoutDir.'" directory is not writable by the current user.');

        }
<?php             $fs = new Filesystem();

            $fs->ensureDirectoryExists(dirname($this->repoDir));



            if (!is_writable(dirname($this->repoDir))) {

                throw new \RuntimeException('Can not clone '.$this->url.' to access package information. The "'.dirname($this->repoDir).'" directory is not writable by the current user.');

            }
<?php             $fs = new Filesystem();

            $fs->ensureDirectoryExists($cacheDir);



            if (!is_writable(dirname($this->repoDir))) {

                throw new \RuntimeException('Can not clone '.$this->url.' to access package information. The "'.$cacheDir.'" directory is not writable by the current user.');

            }
<?php             $this->mkdir($dir);

        }



        if (!is_writable($dir)) {

            throw new IOException(sprintf('Unable to write to the "%s" directory.', $dir), 0, null, $dir);

        }
<?php             $this->mkdir($dir);

        }



        if (!is_writable($dir)) {

            throw new IOException(sprintf('Unable to write to the "%s" directory.', $dir), 0, null, $dir);

        }