30 open-source projects similar to sebastianbergmann/php-file-iterator, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Php File Iterator alternative.
node-glob is a Node.js library for finding and matching files and directories using glob patterns. It functions as a filesystem traversal tool and path resolution library, enabling the identification of entries within directory trees based on specific search criteria. The project features a virtual filesystem interface, allowing native filesystem methods to be replaced with custom objects. This enables pattern matching against mocked data or non-native storage systems. The toolkit covers a broad range of filesystem operations, including recursive directory traversal, path normalization acros
This project is a PHP filesystem search component and file filtering library. It provides an object-oriented filesystem iterator designed to locate files and directories based on specific criteria. The library includes a project ignore file parser that allows the search process to respect version control exclusion patterns and metadata to skip unnecessary files. It covers a wide range of filtering capabilities, including the ability to isolate entries by name, path, size, and modification date. The tool also supports content-based filtering, type-based restrictions, and custom logic function
rimraf is a Node.js recursive file deletion tool and cross-platform filesystem utility. It provides both a programmatic library and a command-line interface for removing files and directories and all of their contained contents across different operating systems. The utility supports glob-based file deletion, allowing the removal of items that match specific wildcard patterns rather than just literal paths. It also includes the ability to abort deletion processes mid-execution and apply custom predicate-based filtering to exclude specific files or folders. The project covers broad filesystem
gdu is a command line disk usage analyzer and interactive disk profiler used to scan directories and visualize space consumption across file systems. It functions as a file system management tool that allows for the identification and removal of large files and folders to free up storage. The tool features a cursor-based interface for navigating directory structures and archives. It provides a storage cleanup workflow that enables the deletion of selected items directly from the analysis view, utilizing parallel execution to reduce I/O wait times. The application supports recursive directory
gdrive is a command line interface client for managing files, folders, and permissions within Google Drive. It functions as a backup utility and synchronization tool, allowing users to interact with their cloud storage through a terminal instead of a web browser. The project supports server-to-server integration by using service accounts and JSON credential files. This enables non-interactive identity verification and session establishment without requiring interactive user login prompts. The tool covers bidirectional and one-way synchronization between local directories and remote storage,
GAM is a command-line tool for administering Google Workspace and Cloud Identity. It translates command-line arguments into structured API calls, enabling administrators to manage users, groups, organizational units, and domain settings across a Google Workspace environment. The tool handles authentication through OAuth2 flows, service accounts, and workload identity federation, and supports multi-tenant configurations for managing multiple domains or cloud projects from a single installation. GAM distinguishes itself through its batch processing and automation capabilities. It can process la
h5ai is a web-based file navigator and server-side indexer that replaces default server index pages with a visual interface for browsing and downloading files over HTTP. It functions as a directory listing browser that transforms plain file paths into a navigable explorer for hosted files. The project is compatible with Apache, Nginx, and lighttpd web servers, providing a way to manage static assets and share files and folders through a browser-based interface instead of a command line. It utilizes PHP-based server indexing and recursive directory traversal to scan server directories and rea
OpenViking is a multi-tenant context server and knowledge base administration system designed to provide AI agents with persistent long-term memory. It enables the indexing of diverse documents and codebases to support retrieval-augmented generation, allowing agents to recall past interactions, user preferences, and learned experiences across sessions. The project is distinguished by its use of a URI-based virtual filesystem to organize memories, resources, and skills. It implements a tiered context loading system that balances retrieval precision with token budgets by structuring data into a
TextMate is a programmable text editor designed for software development and project management. It functions as a highly customizable environment where users can define language-specific behaviors, syntax highlighting rules, and automated workflows to suit their individual development needs. The editor distinguishes itself through a modular, bundle-based extensibility model that allows for deep integration with system shell commands. By piping document buffers through external scripts and command-line tools, users can perform complex text transformations, automate file lifecycle tasks, and b
gdown is a command-line tool that downloads public files and folders from Google Drive without requiring authentication. It bypasses the mandatory virus-scan warning page to retrieve large files that conventional download tools block, and can resume interrupted transfers using HTTP range requests. Beyond simple file downloads, gdown can recursively download entire folder hierarchies while preserving the local directory structure. It lists the contents of a public folder as structured JSON without downloading the files themselves, and resolves a file's real name and extension without retrievin
pyWhat is a Python-based data extraction tool designed to scan files and text for sensitive identifiers, credentials, and network artifacts using regular expressions. It functions as a pattern matching engine and PII scanner capable of identifying personal identifiers and sensitive data patterns across directories and binary files. The project specializes in the identification of unknown data formats through file signatures and the extraction of high-value identifiers, such as URLs, IP addresses, and phone numbers, from network capture files. It utilizes a rarity-based filtering system and sp
node-prune is a utility for cleaning and shrinking Node.js dependency folders by removing source files and documentation not required for runtime execution. It functions as a package cleaner that deletes non-essential files, such as markdown and TypeScript files, from installed npm dependencies to reduce installation size. The tool optimizes deployment artifacts and container images by stripping unnecessary files from third-party library directories. This process is used to minimize Docker image sizes and reduce the footprint of final application bundles. The project provides a command-line
This project is a comprehensive educational resource consisting of a Bash programming tutorial, scripting reference, and Linux command line manual. It provides instructional materials for writing scripts, automating system tasks, and mastering terminal navigation and Unix system administration. The guides cover a wide range of shell environment customization, including prompt styling and the use of aliases. It also provides a shell environment guide for managing configuration files and initializing user environments. The materials detail a broad set of capabilities including control flow log
WinDirStat is a disk usage visualizer and storage analysis tool designed to scan drives and represent file and folder sizes. It functions as a system for calculating subtree sizes and identifying storage bottlenecks on a local file system. The utility distinguishes itself through a proportional treemap and an interactive directory tree, where the area of each block corresponds to the size of the file. It utilizes an extension-based color mapping system to categorize data types visually and provides a reporter that aggregates storage consumption by file type. The software covers broad storage
Dust is a command line disk usage analyzer written in Rust. It functions as a disk space visualization tool and recursive directory size scanner used to identify large files and directories through a formatted list of disk consumption across a filesystem. The tool differentiates itself by providing a recursive tree view to visualize space distribution and the ability to output directory and file size data in machine-readable formats for external processing and analysis. Its broader capabilities include filesystem auditing and storage capacity management. This is achieved through file and dir
Octotree is a source code browsing tool for GitHub that provides a navigable file tree sidebar for exploring repository folder structures without downloading files locally. It enables the navigation of directory hierarchies and the location of specific files through text-based search queries. The tool includes specialized workflows for reviewing pull requests by filtering the visible file tree to show only modified files. It also supports access to private repositories through the use of personal access tokens and multi-account management. The interface features customizable sidebar behavior
This project is a learning guide and collection of study notes designed to teach Node.js backend development. It provides a comprehensive core API reference and practical demonstrations for implementing server-side logic, network programming, and system APIs. The guide specifically covers advanced technical domains including process management for scaling applications via clusters and child processes, as well as network programming for building TCP, UDP, and HTTP services. It also includes detailed instructional material on security implementation, focusing on cryptographic hashing and encryp
Neo-tree is an extensible UI component for Neovim that functions as a file explorer, project resource manager, and git status browser. It provides a tree-based interface for navigating filesystems, managing open buffers, and organizing document symbols within a side panel. The project is designed as a customizable framework that allows for the integration of external data sources and the implementation of user-defined event handlers. It supports custom tree visuals and component rendering, enabling the display of metadata, custom icons, and third-party plugin data within the tree view. Capab
This is a PHP filesystem utility library that provides tools for manipulating files, directories, and symbolic links. It serves as a specialized set of tools for atomic writing, path normalization, recursive directory management, and cross-platform file manipulation. The project features a dedicated atomic file writer that saves content to temporary locations before moving them to a final destination to prevent data corruption. It includes a recursive directory manager for creating, deleting, and modifying permissions for nested folder structures and their contents, as well as a path normaliz
This is an interactive single-page tutorial that teaches GNU Makefile syntax, rules, variables, and targets through hands-on examples. It serves as both a learning tool for build automation and a reference guide covering Makefile fundamentals, including pattern matching, built-in functions, and variable-driven build configuration. The tutorial walks through core Makefile concepts such as defining targets and prerequisites, using variables to parameterize commands, applying pattern rules for efficient file matching, and managing dependencies for incremental builds. It covers practical build au
fsearch is a high-performance desktop file search tool and filesystem indexing engine. It provides near-instant location of files and folders on a local filesystem by utilizing a background indexing system that monitors filesystem changes in real time. The utility distinguishes itself through advanced query capabilities, including support for boolean search logic using AND, OR, and NOT operators, as well as regular expression and wildcard filtering. It allows for precise result refinement using literal character handling and specific search modifiers such as case sensitivity and exact matches
lsd is a directory listing tool and directory tree visualizer designed as a modern replacement for the standard Unix ls command. It provides a command line interface for listing directory contents and visualizing hierarchical folder structures with enhanced visual formatting. The utility distinguishes itself through customizable themes, allowing users to modify the output appearance by mapping specific colors and icons to file names, types, or extensions. It uses extension-based icon mapping to provide visual file type identification via specific glyphs. The tool covers functional domains in
colorls is a Ruby-based terminal directory visualizer that displays file system contents using colors, Font Awesome icons, and Git status indicators. It functions as a command line interface for rendering directory contents and nested file system hierarchies in both list and tree formats. The project features a customizable theme engine that allows users to override default colors and unicode icons via external configuration files. It integrates with version control to append the status of files and folders directly within the terminal listing. The tool provides capabilities for directory hi
node-fs-extra is a Node.js file system extension that provides a set of additional methods to simplify common file and directory operations. It functions as a recursive directory manager, a JSON file processor, and a file asset manipulator, extending the standard library to provide high-level utilities for managing assets on disk. The project distinguishes itself through recursive capabilities, such as duplicating or removing nested folder structures and ensuring that all missing parent directories are automatically generated when creating files or symbolic links. It also integrates a JSON se
The GitHub ToolKit for developing GitHub Actions.
direnv is a shell environment manager and directory-based environment loader that automatically loads and unloads environment variables when switching between directories. It functions as a shell hook automation tool, injecting logic into the shell configuration to trigger environment updates based on the current project context. The project acts as a development environment isolator by localizing shell configurations, which prevents dependency conflicts and removes project-specific exports from global profile files. It includes specialized integration for Nix, allowing the loading of environ
paths-filter is a GitHub Actions path filter and git change detector designed to trigger conditional workflow steps by identifying modified files. It serves as a path-based change metadata generator that determines if specific files or directories have changed to drive automation logic in CI pipelines. The tool identifies modified files between commits or branches using configurable inclusion and exclusion filters. It exports boolean flags, modified filename lists, and file counts to allow downstream automation steps to execute only when specific criteria are met. The project provides capabi
dirsearch is a command-line security tool and web path scanner used for discovering hidden directories and files on web servers. It functions as a recursive directory fuzzer and brute-force utility that identifies undocumented paths and sensitive files using wordlists and HTTP status codes. The tool distinguishes itself through template-driven path generation and an automated HTTP response filter that uses status codes, content length, and regex patterns to isolate valid targets. It supports recursive directory crawling to map complex web structures and provides state-persistence serializatio
SFTPGo is a multi-protocol file server and secure file transfer gateway that enables the exchange and storage of files via SFTP, FTP, HTTP, and WebDAV. It provides a unified management interface and a web-based file manager for configuring server settings, user permissions, and collaborating on documents. The project functions as a cloud storage gateway, bridging legacy file transfer protocols to modern backends such as S3, Google Cloud Storage, and Azure Blob. It features an automated data workflow engine that uses dynamic logic and virtual folders to route files and manage data lifecycles a
Television is a terminal-based search launcher that provides real-time fuzzy matching across multiple data sources, including files, git repositories, environment variables, shell history, and custom user-defined channels. It presents a multi-panel terminal interface where search results, previews, and input are displayed simultaneously, with a frecency-based ranking engine that combines match quality with the frequency and recency of past selections to surface the most relevant entries. The project is built around a declarative, TOML-driven architecture where search channels, previews, and a