1. Go to this page and download the library: Download loilo/x-filesystem library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
loilo / x-filesystem example snippets
$fs = new Loilo\XFilesystem\XFilesystem();
/**
* Find files by a glob. As opposed to PHP's built-in "glob" function, this method supports the ** wildcard.
* @see https://www.php.net/manual/en/function.glob.php#refsect1-function.glob-parameters
*
* @param string $pattern The pattern. No tilde expansion or parameter substitution is done.
* @param int $flags Flags to apply
* @return array
*/
public function glob($pattern, $flags = 0)
$fs->glob('src/**/*.php');
/**
* Read the contents of a file
*
* @param string $filename The file to read from
* @return string The contents from the file
*
* @throws FileNotFoundException When the path does not exist or is not a file
* @throws IOException When the file exists but is not readable
*/
function readFile($filename)
$fs->readFile('plain.txt');
// Allow the $fs instance to read from HTTP(S) URLs
$fs->setRemoteAllowed(true);
/**
* Read the contents of a file and parse them as JSON
*
* @param string $filename The file to read from
* @param int $mode The parse mode:
* `PARSE_ASSOC` to return an associative array
* `PARSE_OBJECT` to return a \stdClass object
* @return mixed The parsed JSON data
*
* @throws FileNotFoundException When the path does not exist or is not a file
* @throws IOException When the file exists but is not readable
* @throws UnexpectedValueException When parsing the JSON fails
*/
function readJsonFile($filename, $mode = self::PARSE_OBJECT)
$fs->readJsonFile('data.json')
/**
* Dump data into a file as JSON
*
* @param string $filename The file to be written to
* @param mixed $data The data to write to the file
* @param int $flags The json_encode() flags to utilize
*
* @throws IOException When the file cannot be written to
* @throws UnexpectedValueException When encoding the JSON fails
*/
function dumpJsonFile(
$filename,
$data,
$flags = JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE
)
/**
* Read the contents of a file and parses them as YAML
*
* @param string $filename The file to read from
* @param int $mode The parse mode:
* `PARSE_ASSOC` to return an associative array
* `PARSE_OBJECT` to return a \stdClass object
* @return mixed The parsed YAML data
*
* @throws FileNotFoundException When the path does not exist or is not a file
* @throws IOException When the file exists but is not readable
* @throws ParseException When the file could not be read or the YAML is not valid
*/
function readYamlFile($filename, $mode = self::PARSE_OBJECT)
$fs->readYamlFile('data.yml')
/**
* Dump content into a file as YAML
*
* @param string $filename The file to be written to
* @param mixed $data The data to write into the file
* @param int $inline The level where to switch to inline YAML
* @param int $indent The amount of spaces to use for indentation of nested nodes
*
* @throws IOException When the file cannot be written to
*/
function dumpYamlFile($filename, $data, $inline = 2, $indent = 4)
/**
* Read the contents of a file and parses them as CSV
*
* @param string $filename The file to read from
* @param int $mode The parse mode:
* `PARSE_ARRAY` returns each row as an array
* `PARSE_ASSOC` takes the first row as headers and returns associative arrays
* `PARSE_OBJECT` takes the first row as headers and returns \stdClass objects
* @param string $delimiter The field delimiter (one character only)
* @param string $charset The charset the CSV file is encoded in
* @param string $enclosure The field enclosure (one character only)
* @param string $escapeChar The escape character (one character only)
* @return mixed The parsed CSV data
*
* @throws FileNotFoundException When the path does not exist or is not a file
* @throws IOException When the file exists but is not readable
* @throws UnexpectedValueException When the column count is inconsistent
*/
function readCsvFile(
$filename,
$mode = self::PARSE_OBJECT,
$delimiter = ',',
$charset = 'UTF-8',
$enclosure = '"',
$escapeChar = '\\'
)
$fs->readCsvFile('data.csv')
/**
* Dump content into a file as CSV
*
* @param string $filename The file to be written to
* @param mixed $data The data to write into the file
* @param string $delimiter The field delimiter (one character only)
* @param string $enclosure The field enclosure (one character only)
* @param string $escapeChar The escape character (one character only)
* @param int $dumpMode How to interpret passed data (CSV_DUMP_PLAIN or CSV_DUMP_STRUCTURED)
*
* @throws IOException When the file cannot be written to
*/
function dumpCsvFile(
$filename,
$data,
$delimiter = ',',
$enclosure = '"',
$escapeChar = '\\',
$dumpMode = self::CSV_DUMP_DETECT
)
/**
* Read and return the contents of a PHP file
*
* @param string $filename The PHP file to will evaluate the file only once
* `PHP_INVALIDATE_CACHE` will re-evaluate it if it changed
* `PHP_FORCE_INVALIDATE_CACHE` will re-evaluate it anyway
* Note that only OPCache is utilized which usually is turned off in PHP CLI
* @return mixed The data returned from the file
*
* @throws FileNotFoundException When the path does not exist or is not a file
* @throws IOException When the file exists but is not readable
*/
function readPhpFile($filename, $caching = self::PHP_ALLOW_CACHED)
/**
* Dump data into a file as PHP
*
* @param string $filename The file to be written to
* @param string $data The data to write into the file
*
* @throws IOException When the file cannot be written to
*/
function dumpPhpFile($filename, $data)