Verzeichnisstruktur phpBB-3.2.0


Veröffentlicht
06.01.2017

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

      (Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

filesystem_interface.php

Zuletzt modifiziert: 09.10.2024, 12:52 - Dateigröße: 10.04 KiB


 001  <?php
 002  /**
 003   *
 004   * This file is part of the phpBB Forum Software package.
 005   *
 006   * @copyright (c) phpBB Limited <https://www.phpbb.com>
 007   * @license GNU General Public License, version 2 (GPL-2.0)
 008   *
 009   * For full copyright and license information, please see
 010   * the docs/CREDITS.txt file.
 011   *
 012   */
 013   
 014  namespace phpbb\filesystem;
 015   
 016  /**
 017   * Interface for phpBB's filesystem service
 018   */
 019  interface filesystem_interface
 020  {
 021      /**
 022       * chmod all permissions flag
 023       *
 024       * @var int
 025       */
 026      const CHMOD_ALL = 7;
 027   
 028      /**
 029       * chmod read permissions flag
 030       *
 031       * @var int
 032       */
 033      const CHMOD_READ = 4;
 034   
 035      /**
 036       * chmod write permissions flag
 037       *
 038       * @var int
 039       */
 040      const CHMOD_WRITE = 2;
 041   
 042      /**
 043       * chmod execute permissions flag
 044       *
 045       * @var int
 046       */
 047      const CHMOD_EXECUTE = 1;
 048   
 049      /**
 050       * Change owner group of files/directories
 051       *
 052       * @param string|array|\Traversable    $files        The file(s)/directorie(s) to change group
 053       * @param string                    $group        The group that should own the files/directories
 054       * @param bool                         $recursive    If the group should be changed recursively
 055       * @throws \phpbb\filesystem\exception\filesystem_exception    the filename which triggered the error can be
 056       *                                                             retrieved by filesystem_exception::get_filename()
 057       */
 058      public function chgrp($files, $group, $recursive = false);
 059   
 060      /**
 061       * Global function for chmodding directories and files for internal use
 062       *
 063       * The function accepts filesystem_interface::CHMOD_ flags in the permission argument
 064       * or the user can specify octal values (or any integer if it makes sense). All directories will have
 065       * an execution bit appended, if the user group (owner, group or other) has any bit specified.
 066       *
 067       * @param string|array|\Traversable    $files                The file/directory to be chmodded
 068       * @param int                        $perms                Permissions to set
 069       * @param bool                        $recursive            If the permissions should be changed recursively
 070       * @param bool                        $force_chmod_link    Try to apply permissions to symlinks as well
 071       *
 072       * @throws \phpbb\filesystem\exception\filesystem_exception    the filename which triggered the error can be
 073       *                                                             retrieved by filesystem_exception::get_filename()
 074       */
 075      public function chmod($files, $perms = null, $recursive = false, $force_chmod_link = false);
 076   
 077      /**
 078       * Change owner group of files/directories
 079       *
 080       * @param string|array|\Traversable    $files        The file(s)/directorie(s) to change group
 081       * @param string                    $user        The owner user name
 082       * @param bool                         $recursive    Whether change the owner recursively or not
 083       *
 084       * @throws \phpbb\filesystem\exception\filesystem_exception    the filename which triggered the error can be
 085       *                                                             retrieved by filesystem_exception::get_filename()
 086       */
 087      public function chown($files, $user, $recursive = false);
 088   
 089      /**
 090       * Eliminates useless . and .. components from specified path.
 091       *
 092       * @param string $path Path to clean
 093       *
 094       * @return string Cleaned path
 095       */
 096      public function clean_path($path);
 097   
 098      /**
 099       * Copies a file.
 100       *
 101       * This method only copies the file if the origin file is newer than the target file.
 102       *
 103       * By default, if the target already exists, it is not overridden.
 104       *
 105       * @param string    $origin_file    The original filename
 106       * @param string    $target_file    The target filename
 107       * @param bool        $override        Whether to override an existing file or not
 108       *
 109       * @throws \phpbb\filesystem\exception\filesystem_exception When the file cannot be copied
 110       */
 111      public function copy($origin_file, $target_file, $override = false);
 112   
 113      /**
 114       * Atomically dumps content into a file.
 115       *
 116       * @param string    $filename    The file to be written to.
 117       * @param string    $content    The data to write into the file.
 118       *
 119       * @throws \phpbb\filesystem\exception\filesystem_exception When the file cannot be written
 120       */
 121      public function dump_file($filename, $content);
 122   
 123      /**
 124       * Checks the existence of files or directories.
 125       *
 126       * @param string|array|\Traversable    $files    files/directories to check
 127       *
 128       * @return bool    Returns true if all files/directories exist, false otherwise
 129       */
 130      public function exists($files);
 131   
 132      /**
 133       * Checks if a path is absolute or not
 134       *
 135       * @param string    $path    Path to check
 136       *
 137       * @return    bool    true if the path is absolute, false otherwise
 138       */
 139      public function is_absolute_path($path);
 140   
 141      /**
 142       * Checks if files/directories are readable
 143       *
 144       * @param string|array|\Traversable    $files        files/directories to check
 145       * @param bool                        $recursive    Whether or not directories should be checked recursively
 146       *
 147       * @return bool True when the files/directories are readable, otherwise false.
 148       */
 149      public function is_readable($files, $recursive = false);
 150   
 151      /**
 152       * Test if a file/directory is writable
 153       *
 154       * @param string|array|\Traversable    $files        files/directories to perform write test on
 155       * @param bool                        $recursive    Whether or not directories should be checked recursively
 156       *
 157       * @return bool True when the files/directories are writable, otherwise false.
 158       */
 159      public function is_writable($files, $recursive = false);
 160   
 161      /**
 162       * Given an existing path, convert it to a path relative to a given starting path
 163       *
 164       * @param string $end_path        Absolute path of target
 165       * @param string $start_path    Absolute path where traversal begins
 166       *
 167       * @return string Path of target relative to starting path
 168       */
 169      public function make_path_relative($end_path, $start_path);
 170   
 171      /**
 172       * Mirrors a directory to another.
 173       *
 174       * @param string        $origin_dir    The origin directory
 175       * @param string        $target_dir    The target directory
 176       * @param \Traversable    $iterator    A Traversable instance
 177       * @param array            $options    An array of boolean options
 178       *                                    Valid options are:
 179       *                                        - $options['override'] Whether to override an existing file on copy or not (see copy())
 180       *                                        - $options['copy_on_windows'] Whether to copy files instead of links on Windows (see symlink())
 181       *                                        - $options['delete'] Whether to delete files that are not in the source directory (defaults to false)
 182       *
 183       * @throws \phpbb\filesystem\exception\filesystem_exception When the file cannot be copied.
 184       *                                                             The filename which triggered the error can be
 185       *                                                             retrieved by filesystem_exception::get_filename()
 186       */
 187      public function mirror($origin_dir, $target_dir, \Traversable $iterator = null, $options = array());
 188   
 189      /**
 190       * Creates a directory recursively.
 191       *
 192       * @param string|array|\Traversable    $dirs    The directory path
 193       * @param int                        $mode    The directory mode
 194       *
 195       * @throws \phpbb\filesystem\exception\filesystem_exception On any directory creation failure
 196       *                                                             The filename which triggered the error can be
 197       *                                                             retrieved by filesystem_exception::get_filename()
 198       */
 199      public function mkdir($dirs, $mode = 0777);
 200   
 201      /**
 202       * Global function for chmodding directories and files for internal use
 203       *
 204       * This function determines owner and group whom the file belongs to and user and group of PHP and then set safest possible file permissions.
 205       * The function determines owner and group from common.php file and sets the same to the provided file.
 206       * The function uses bit fields to build the permissions.
 207       * The function sets the appropiate execute bit on directories.
 208       *
 209       * Supported constants representing bit fields are:
 210       *
 211       * filesystem_interface::CHMOD_ALL - all permissions (7)
 212       * filesystem_interface::CHMOD_READ - read permission (4)
 213       * filesystem_interface::CHMOD_WRITE - write permission (2)
 214       * filesystem_interface::CHMOD_EXECUTE - execute permission (1)
 215       *
 216       * NOTE: The function uses POSIX extension and fileowner()/filegroup() functions. If any of them is disabled, this function tries to build proper permissions, by calling is_readable() and is_writable() functions.
 217       *
 218       * @param string|array|\Traversable    $file                The file/directory to be chmodded
 219       * @param int                        $perms                Permissions to set
 220       * @param bool                        $recursive            If the permissions should be changed recursively
 221       * @param bool                        $force_chmod_link    Try to apply permissions to symlinks as well
 222       *
 223       * @throws \phpbb\filesystem\exception\filesystem_exception    the filename which triggered the error can be
 224       *                                                             retrieved by filesystem_exception::get_filename()
 225       */
 226      public function phpbb_chmod($file, $perms = null, $recursive = false, $force_chmod_link = false);
 227   
 228      /**
 229       * A wrapper for PHP's realpath
 230       *
 231       * Try to resolve realpath when PHP's realpath is not available, or
 232       * known to be buggy.
 233       *
 234       * @param string    $path    Path to resolve
 235       *
 236       * @return string    Resolved path
 237       */
 238      public function realpath($path);
 239   
 240      /**
 241       * Removes files or directories.
 242       *
 243       * @param string|array|\Traversable    $files    A filename, an array of files, or a \Traversable instance to remove
 244       *
 245       * @throws \phpbb\filesystem\exception\filesystem_exception When removal fails.
 246       *                                                             The filename which triggered the error can be
 247       *                                                             retrieved by filesystem_exception::get_filename()
 248       */
 249      public function remove($files);
 250   
 251      /**
 252       * Renames a file or a directory.
 253       *
 254       * @param string    $origin        The origin filename or directory
 255       * @param string    $target        The new filename or directory
 256       * @param bool        $overwrite    Whether to overwrite the target if it already exists
 257       *
 258       * @throws \phpbb\filesystem\exception\filesystem_exception    When target file or directory already exists,
 259       *                                                             or origin cannot be renamed.
 260       */
 261      public function rename($origin, $target, $overwrite = false);
 262   
 263      /**
 264       * Creates a symbolic link or copy a directory.
 265       *
 266       * @param string    $origin_dir            The origin directory path
 267       * @param string    $target_dir            The symbolic link name
 268       * @param bool        $copy_on_windows    Whether to copy files if on Windows
 269       *
 270       * @throws \phpbb\filesystem\exception\filesystem_exception When symlink fails
 271       */
 272      public function symlink($origin_dir, $target_dir, $copy_on_windows = false);
 273   
 274      /**
 275       * Sets access and modification time of file.
 276       *
 277       * @param string|array|\Traversable    $files            A filename, an array of files, or a \Traversable instance to create
 278       * @param int                        $time            The touch time as a Unix timestamp
 279       * @param int                        $access_time    The access time as a Unix timestamp
 280       *
 281       * @throws \phpbb\filesystem\exception\filesystem_exception    When touch fails
 282       */
 283      public function touch($files, $time = null, $access_time = null);
 284  }
 285