dir example


  protected function fileUnmanagedDeleteRecursive($path$callback = NULL) {
    if (isset($callback)) {
      call_user_func($callback$path);
    }
    if (is_dir($path)) {
      $dir = dir($path);
      while (($entry = $dir->read()) !== FALSE) {
        if ($entry == '.' || $entry == '..') {
          continue;
        }
        $entry_path = $path . '/' . $entry;
        $this->fileUnmanagedDeleteRecursive($entry_path$callback);
      }
      $dir->close();

      return rmdir($path);
    }
    
if ( $this->is_file( $path ) ) {
            $limit_file = basename( $path );
            $path       = dirname( $path );
        } else {
            $limit_file = false;
        }

        if ( ! $this->is_dir( $path ) || ! $this->is_readable( $path ) ) {
            return false;
        }

        $dir = dir( $path );

        if ( ! $dir ) {
            return false;
        }

        $path = trailingslashit( $path );
        $ret  = array();

        while ( false !== ( $entry = $dir->read() ) ) {
            $struc         = array();
            $struc['name'] = $entry;

            

  protected function fileUnmanagedDeleteRecursive($path$callback = NULL) {
    if (isset($callback)) {
      call_user_func($callback$path);
    }
    if (is_dir($path)) {
      $dir = dir($path);
      while (($entry = $dir->read()) !== FALSE) {
        if ($entry == '.' || $entry == '..') {
          continue;
        }
        $entry_path = $path . '/' . $entry;
        $this->fileUnmanagedDeleteRecursive($entry_path$callback);
      }
      $dir->close();

      return rmdir($path);
    }
    
$limit_file = basename( $path );
            $path       = dirname( $path );
        } else {
            $limit_file = false;
        }

        if ( ! $this->is_dir( $path ) || ! $this->is_readable( $path ) ) {
            return false;
        }

        $ret = array();
        $dir = dir( $this->sftp_path( $path ) );

        if ( ! $dir ) {
            return false;
        }

        $path = trailingslashit( $path );

        while ( false !== ( $entry = $dir->read() ) ) {
            $struc         = array();
            $struc['name'] = $entry;

            
public function releaseLock(): bool {
    return unlink($this->getLockFile($this->lockId));
  }

  /** * Releases all test locks. * * This should only be called once all the test fixtures have been cleaned up. */
  public static function releaseAllTestLocks(): void {
    $tmp = FileSystem::getOsTemporaryDirectory();
    $dir = dir($tmp);
    while (($entry = $dir->read()) !== FALSE) {
      if ($entry === '.' || $entry === '..') {
        continue;
      }
      $entry_path = $tmp . '/' . $entry;
      if (preg_match('/^test_\d+/', $entry) && is_link($entry_path)) {
        unlink($entry_path);
      }
    }
  }

  
/** * Clean a directory and recursivly go over it's subdirectories * * Remove all the cached files that need to be cleaned (according to mode and files mtime) * * @param string $dir Path of directory ot clean * @param string $mode The same parameter as in Zend_Cache_Backend_ZendPlatform::clean() * @return boolean True if ok */
    private function _clean($dir$mode)
    {
        $d = @dir($dir);
        if (!$d) {
            return false;
        }
        $result = true;
        while (false !== ($file = $d->read())) {
            if ($file == '.' || $file == '..') {
                continue;
            }
            $file = $d->path . $file;
            if (is_dir($file)) {
                $result = ($this->_clean($file .'/', $mode)) && ($result);
            }

  public function deleteRecursive($path, callable $callback = NULL) {
    if ($callback) {
      call_user_func($callback$path);
    }

    if (!file_exists($path)) {
      return TRUE;
    }

    if (is_dir($path)) {
      $dir = dir($path);
      while (($entry = $dir->read()) !== FALSE) {
        if ($entry == '.' || $entry == '..') {
          continue;
        }
        $entry_path = $path . '/' . $entry;
        $this->deleteRecursive($entry_path$callback);
      }
      $dir->close();

      return $this->rmdir($path);
    }

    
Home | Imprint | This part of the site doesn't use cookies.