当前位置: 首页>>代码示例>>PHP>>正文


PHP fileowner函数代码示例

本文整理汇总了PHP中fileowner函数的典型用法代码示例。如果您正苦于以下问题:PHP fileowner函数的具体用法?PHP fileowner怎么用?PHP fileowner使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了fileowner函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getInfoByName

 public function getInfoByName($filePath)
 {
     $this->MAX_FILE_SIZE_FOR_HASHING = 1024 * 1024;
     $this->absoluteName = $filePath;
     $this->name = str_replace($this->web_root_dir, '.', $filePath);
     $this->ctime = 0;
     $this->mtime = 0;
     $this->owner = '-';
     $this->group = '-';
     $this->access = 0;
     $this->size = -1;
     $this->md5 = '-';
     if (file_exists($filePath)) {
         $this->ctime = filectime($filePath);
         $this->mtime = filemtime($filePath);
         $owner = fileowner($filePath);
         $ownerInfo = function_exists('posix_getpwuid') ? posix_getpwuid($owner) : array('name' => $owner);
         $this->owner = $ownerInfo['name'];
         $group = filegroup($filePath);
         $groupInfo = function_exists('posix_getgrgid') ? posix_getgrgid($group) : array('name' => $group);
         $this->group = $groupInfo['name'];
         $this->access = substr(sprintf('%o', fileperms($filePath)), -4);
         if (is_file($filePath)) {
             $this->size = filesize($filePath);
             if ($this->size <= $this->MAX_FILE_SIZE_FOR_HASHING) {
                 $this->md5 = hash_file('md5', $filePath);
             }
         }
     }
     return true;
 }
开发者ID:SellSSL,项目名称:manul,代码行数:31,代码来源:FileInfo.inc.php

示例2: getInfo

 public function getInfo($path)
 {
     if (JFile::exists($path) || JFolder::exists($path)) {
         return array('path' => $path, 'realpath' => realpath($path), 'owner/group' => filegroup($path) . '/' . fileowner($path), 'permissions' => $this->getPerms($path), 'is_readable' => is_readable($path), 'is_writable' => is_writable($path));
     }
     return 'No exists';
 }
开发者ID:alexmixaylov,项目名称:real,代码行数:7,代码来源:jbpath.php

示例3: listFile

 public function listFile($pathname, $pattern = "*")
 {
     static $_listDirs = array();
     $guid = md5($pathname . $pattern);
     if (!isset($_listDirs[$guid])) {
         $dir = array();
         $list = glob($pathname . $pattern);
         foreach ($list as $i => $file) {
             $dir[$i]["filename"] = preg_replace("/^.+[\\\\\\/]/", "", $file);
             $dir[$i]["pathname"] = realpath($file);
             $dir[$i]["owner"] = fileowner($file);
             $dir[$i]["perms"] = fileperms($file);
             $dir[$i]["inode"] = fileinode($file);
             $dir[$i]["group"] = filegroup($file);
             $dir[$i]["path"] = dirname($file);
             $dir[$i]["atime"] = fileatime($file);
             $dir[$i]["ctime"] = filectime($file);
             $dir[$i]["size"] = filesize($file);
             $dir[$i]["type"] = filetype($file);
             $dir[$i]["ext"] = is_file($file) ? strtolower(substr(strrchr(basename($file), "."), 1)) : "";
             $dir[$i]["mtime"] = filemtime($file);
             $dir[$i]["isDir"] = is_dir($file);
             $dir[$i]["isFile"] = is_file($file);
             $dir[$i]["isLink"] = is_link($file);
             $dir[$i]["isReadable"] = is_readable($file);
             $dir[$i]["isWritable"] = is_writable($file);
         }
         $cmp_func = create_function("\$a,\$b", "\r\n\t\t\t\$k  =  \"isDir\";\r\n\t\t\tif(\$a[\$k]  ==  \$b[\$k])  return  0;\r\n\t\t\treturn  \$a[\$k]>\$b[\$k]?-1:1;\r\n\t\t\t");
         usort($dir, $cmp_func);
         $this->_values = $dir;
         $_listDirs[$guid] = $dir;
     } else {
         $this->_values = $_listDirs[$guid];
     }
 }
开发者ID:AxelPanda,项目名称:ibos,代码行数:35,代码来源:Dir.php

示例4: matchOwnersIfPossible

 public function matchOwnersIfPossible($target_filename, $match_from_filename)
 {
     try {
         if (false === ($intended_uid = fileowner($match_from_filename))) {
             throw new \Exception("fileowner failed on source");
         }
         if (false === ($intended_gid = filegroup($match_from_filename))) {
             throw new \Exception("filegroup failed on source");
         }
         if (false === ($uid = fileowner($target_filename))) {
             throw new \Exception("fileowner failed on target");
         }
         if (false === ($gid = filegroup($target_filename))) {
             throw new \Exception("filegroup failed on target");
         }
         if ($intended_uid != $uid && !$this->chown($target_filename, $intended_uid)) {
             throw new \Exception("chown failed on target");
         }
         if ($intended_gid != $gid && !$this->chgrp($target_filename, $intended_gid)) {
             throw new \Exception("chgrp failed on target");
         }
     } catch (\Exception $e) {
         throw new IOException("Cannot assign ownership of [{$target_filename}] to owner of [{$match_from_filename}]: " . $e->getMessage());
     }
 }
开发者ID:nodepub,项目名称:common,代码行数:25,代码来源:Filesystem.php

示例5: findDirs

/**
 * Returns an array of found directories
 *
 * This function checks every found directory if they match either $uid or $gid, if they do
 * the found directory is valid. It uses recursive-iterators to find subdirectories.
 *
 * @param  string $path the path to start searching in
 * @param  int $uid the uid which must match the found directories
 * @param  int $gid the gid which must match the found direcotries
 *
 * @return array Array of found valid paths
 */
function findDirs($path, $uid, $gid)
{
    $_fileList = array();
    $path = makeCorrectDir($path);
    // valid directory?
    if (is_dir($path)) {
        try {
            // create RecursiveIteratorIterator
            $its = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));
            // we can limit the recursion-depth, but will it be helpful or
            // will people start asking "why do I only see 2 subdirectories, i want to use /a/b/c"
            // let's keep this in mind and see whether it will be useful
            // @TODO
            // $its->setMaxDepth(2);
            // check every file
            foreach ($its as $fullFileName => $it) {
                if ($it->isDir() && (fileowner($fullFileName) == $uid || filegroup($fullFileName) == $gid)) {
                    $_fileList[] = makeCorrectDir(dirname($fullFileName));
                }
            }
        } catch (UnexpectedValueException $e) {
            // this is thrown if the directory is not found or not readble etc.
            // just ignore and keep going
        }
    }
    return array_unique($_fileList);
}
开发者ID:mowamed,项目名称:Froxlor,代码行数:39,代码来源:function.findDirs.php

示例6: ls

 function ls()
 {
     $list = array();
     if ($handle = opendir($this->root . $this->cwd)) {
         while (false !== ($file = readdir($handle))) {
             if ($file == "." || $file == "..") {
                 continue;
             }
             $filename = $this->root . $this->cwd . $file;
             $filetype = filetype($filename);
             if ($filetype != "dir" && $filetype != "file") {
                 continue;
             }
             $filesize = $filetype == "file" ? filesize($filename) : 0;
             /* owner, group, last modification and access info added by Phanatic */
             $owner = posix_getpwuid(fileowner($filename));
             $fileowner = $owner['name'];
             $group = posix_getgrgid(filegroup($filename));
             $filegroup = $group['name'];
             $mtime = filemtime($filename);
             $filemod = date("M d H:i", $mtime);
             $fileperms = $this->perms(fileperms($filename));
             clearstatcache();
             $info = array("name" => $file, "size" => $filesize, "owner" => $fileowner, "group" => $filegroup, "time" => $filemod, "perms" => $fileperms);
             $list[] = $info;
         }
         closedir($handle);
         return $list;
     } else {
         return false;
     }
 }
开发者ID:Norcoen,项目名称:nanoftpd,代码行数:32,代码来源:File.php

示例7: open

 /**
  * Open session, adjust UID if required
  */
 public static function open($admin = false)
 {
     if (PHP_SESSION_ACTIVE == session_status()) {
         throw new \LogicException('Session already open');
     }
     // automatic admin mode for command line testing if root
     $session_file = session_save_path() . DIRECTORY_SEPARATOR . 'sess_' . static::SESSION_ID;
     if (file_exists($session_file) && is_readable($session_file)) {
         $session_owner = fileowner($session_file);
         if ($session_owner !== posix_getuid() && 0 === posix_getuid()) {
             // echo("o: $session_owner\n");
             $admin = true;
         }
         $_SESSION['_dirty'] = microtime();
     }
     // set effective uid of session owner
     if ($admin) {
         static::$pre_session_uid = posix_getuid();
         posix_seteuid(posix_getpwnam(static::SESSION_ADMIN_USER)['uid']);
     }
     // tie all users to single session
     session_id(static::SESSION_ID);
     if (false === session_start()) {
         throw new \RuntimeException('Could not start session');
     }
     // update sesson with current configuration
     // TODO check if necessary
     foreach (ConfigDB::read('cfg_engine') as $row) {
         $_SESSION[$row['param']] = $row['value'];
     }
 }
开发者ID:dermidgen,项目名称:moode,代码行数:34,代码来源:Session.php

示例8: awpcp_setup_uploads_dir

function awpcp_setup_uploads_dir()
{
    global $wpcontentdir;
    $permissions = awpcp_directory_permissions();
    $upload_dir_name = get_awpcp_option('uploadfoldername', 'uploads');
    $upload_dir = $wpcontentdir . '/' . $upload_dir_name . '/';
    // Required to set permission on main upload directory
    require_once AWPCP_DIR . '/fileop.class.php';
    $fileop = new fileop();
    $owner = fileowner($wpcontentdir);
    if (!is_dir($upload_dir) && is_writable($wpcontentdir)) {
        umask(0);
        mkdir($upload_dir, $permissions);
        chown($upload_dir, $owner);
    }
    $fileop->set_permission($upload_dir, $permissions);
    $images_dir = $upload_dir . 'awpcp/';
    $thumbs_dir = $upload_dir . 'awpcp/thumbs/';
    if (!is_dir($images_dir) && is_writable($upload_dir)) {
        umask(0);
        @mkdir($images_dir, $permissions);
        @chown($images_dir, $owner);
    }
    if (!is_dir($thumbs_dir) && is_writable($upload_dir)) {
        umask(0);
        @mkdir($thumbs_dir, $permissions);
        @chown($thumbs_dir, $owner);
    }
    $fileop->set_permission($images_dir, $permissions);
    $fileop->set_permission($thumbs_dir, $permissions);
    return array($images_dir, $thumbs_dir);
}
开发者ID:sabdev1,项目名称:ljcdevsab,代码行数:32,代码来源:upload_awpcp.php

示例9: findDirs

/**
 * Returns an array of found directories
 *
 * This function checks every found directory if they match either $uid or $gid, if they do
 * the found directory is valid. It uses recursive function calls to find subdirectories. Due
 * to the recursive behauviour this function may consume much memory.
 *
 * @param  string   path       The path to start searching in
 * @param  integer  uid        The uid which must match the found directories
 * @param  integer  gid        The gid which must match the found direcotries
 * @param  array    _fileList  recursive transport array !for internal use only!
 * @return array    Array of found valid pathes
 *
 * @author Martin Burchert  <martin.burchert@syscp.de>
 * @author Manuel Bernhardt <manuel.bernhardt@syscp.de>
 */
function findDirs($path, $uid, $gid)
{
    $list = array($path);
    $_fileList = array();
    while (sizeof($list) > 0) {
        $path = array_pop($list);
        $path = makeCorrectDir($path);
        $dh = opendir($path);
        if ($dh === false) {
            standard_error('cannotreaddir', $path);
            return null;
        } else {
            while (false !== ($file = @readdir($dh))) {
                if ($file == '.' && (fileowner($path . '/' . $file) == $uid || filegroup($path . '/' . $file) == $gid)) {
                    $_fileList[] = makeCorrectDir($path);
                }
                if (is_dir($path . '/' . $file) && $file != '..' && $file != '.') {
                    array_push($list, $path . '/' . $file);
                }
            }
            @closedir($dh);
        }
    }
    return $_fileList;
}
开发者ID:HobbyNToys,项目名称:SysCP,代码行数:41,代码来源:function.findDirs.php

示例10: rf_chmod

/**
 * Chmod a file.
 */
function rf_chmod($args)
{
    $args = unserialize($args);
    $path = $args['path'];
    $mode = $args['mode'];
    try {
        if (!is_writable($path)) {
            throw new RFUtilException(RFUtilException::UNWRITABLE_PATH);
        }
        $owner = fileowner($path);
        $self = posix_getuid();
        // can write, not owner owner
        if ($owner != $self) {
            $t = tempnam('/tmp', 'rf');
            $result = copy($path, $t);
            if (!$result) {
                throw new RFUtilException(RFUtilException::CHMOD_COPY_FAILED);
            }
            $result = unlink($path);
            if (!$result) {
                throw new RFUtilException(RFUtilException::CHMOD_UNLINK_FAILED);
            }
            $result = rename($t, $path);
            if (!$result) {
                throw new RFUtilException(RFUtilException::CHMOD_RENAME_FAILED);
            }
            chgrp($path, 'ousers');
        }
    } catch (RFUtilException $e) {
        return $e->getCode();
    }
    $result = chmod($path, $mode);
    return $result;
}
开发者ID:AholibamaSI,项目名称:plymouth-webapp,代码行数:37,代码来源:rfutil.inc.php

示例11: _match_owners_if_possible

function _match_owners_if_possible($target_filename, $match_from_filename)
{
    try {
        if (false === ($intended_uid = fileowner($match_from_filename))) {
            throw new Exception("fileowner failed on source");
        }
        if (false === ($intended_gid = filegroup($match_from_filename))) {
            throw new Exception("filegroup failed on source");
        }
        if (false === ($uid = fileowner($target_filename))) {
            throw new Exception("fileowner failed on target");
        }
        if (false === ($gid = filegroup($target_filename))) {
            throw new Exception("filegroup failed on target");
        }
        if ($intended_uid != $uid && !chown($target_filename, $intended_uid)) {
            throw new Exception("chown failed on target");
        }
        if ($intended_gid != $gid && !chgrp($target_filename, $intended_gid)) {
            throw new Exception("chgrp failed on target");
        }
    } catch (Exception $e) {
        error_log("Cannot assign ownership of [{$target_filename}] to owner of [{$match_from_filename}]: " . $e->getMessage());
    }
}
开发者ID:avioli,项目名称:secondcrack,代码行数:25,代码来源:Utils.php

示例12: has_different_permissions

function has_different_permissions($file)
{
    if (!file_exists($file)) {
        return false;
    }
    return fileowner($file) != getmyuid();
}
开发者ID:subashemphasize,项目名称:test_site,代码行数:7,代码来源:cron.php

示例13: setFileInformations

 /**
  * collect all fileinformations of given file and
  * save them to the global fileinformation array
  *
  * @param string $file
  * @return boolean is valid file?
  */
 protected function setFileInformations($file)
 {
     $this->fileInfo = array();
     // reset previously information to have a cleaned object
     $this->file = $file instanceof \TYPO3\CMS\Core\Resource\File ? $file : NULL;
     if (is_string($file) && !empty($file)) {
         $this->fileInfo = TYPO3\CMS\Core\Utility\GeneralUtility::split_fileref($file);
         $this->fileInfo['mtime'] = filemtime($file);
         $this->fileInfo['atime'] = fileatime($file);
         $this->fileInfo['owner'] = fileowner($file);
         $this->fileInfo['group'] = filegroup($file);
         $this->fileInfo['size'] = filesize($file);
         $this->fileInfo['type'] = filetype($file);
         $this->fileInfo['perms'] = fileperms($file);
         $this->fileInfo['is_dir'] = is_dir($file);
         $this->fileInfo['is_file'] = is_file($file);
         $this->fileInfo['is_link'] = is_link($file);
         $this->fileInfo['is_readable'] = is_readable($file);
         $this->fileInfo['is_uploaded'] = is_uploaded_file($file);
         $this->fileInfo['is_writeable'] = is_writeable($file);
     }
     if ($file instanceof \TYPO3\CMS\Core\Resource\File) {
         $pathInfo = \TYPO3\CMS\Core\Utility\PathUtility::pathinfo($file->getName());
         $this->fileInfo = array('file' => $file->getName(), 'filebody' => $file->getNameWithoutExtension(), 'fileext' => $file->getExtension(), 'realFileext' => $pathInfo['extension'], 'atime' => $file->getCreationTime(), 'mtime' => $file->getModificationTime(), 'owner' => '', 'group' => '', 'size' => $file->getSize(), 'type' => 'file', 'perms' => '', 'is_dir' => FALSE, 'is_file' => $file->getStorage()->getDriverType() === 'Local' ? is_file($file->getForLocalProcessing(FALSE)) : TRUE, 'is_link' => $file->getStorage()->getDriverType() === 'Local' ? is_link($file->getForLocalProcessing(FALSE)) : FALSE, 'is_readable' => TRUE, 'is_uploaded' => FALSE, 'is_writeable' => FALSE);
     }
     return $this->fileInfo !== array();
 }
开发者ID:mneuhaus,项目名称:ke_search,代码行数:34,代码来源:class.tx_kesearch_lib_fileinfo.php

示例14: get_smt2wp_diagnose_info

function get_smt2wp_diagnose_info()
{
    $wp_base_dir = get_wp_base_dir();
    $folders = array('server root' => $_SERVER['DOCUMENT_ROOT'], 'wp root' => $wp_base_dir, 'wp content' => $wp_base_dir . '/wp-content', 'wp uploads' => $wp_base_dir . '/wp-content/uploads', 'smt root' => $wp_base_dir . '/wp-content/plugins/' . basename(dirname(__FILE__)));
    $folders_check_result = array();
    foreach ($folders as $key => $folder) {
        $folder = smt2wp_sanitize_dir_path($folder);
        // var_dump($folder);
        $folders_check_result[$key]['path'] = $folder;
        $folders_check_result[$key]['permissions'] = base_convert(fileperms($folder), 10, 8);
        // $folders_check_result[$key]['owner'] = posix_getpwuid(fileowner($folder));
        $folders_check_result[$key]['owner_id'] = fileowner($folder);
        // $folders_check_result[$key]['group'] = posix_getgrgid(filegroup($folder));
        $folders_check_result[$key]['group_id'] = filegroup($folder);
        // $folders_check_result[$key]['other_stats'] = stat($folder);
        $folders_check_result[$key]['is_writable'] = is_writable($folder);
        $test_folder = smt2wp_sanitize_dir_path($folder . '/test-348214');
        $test_file = $test_folder . '/test-file-6542.txt';
        $mkdir = mkdir($test_folder);
        $put_contents = file_put_contents($test_file, 'this is just a test. you can delete this file');
        $delete_file = unlink($test_file);
        $rm_dir = rmdir($test_folder);
        $folders_check_result[$key]['can_make_dir'] = $mkdir;
        $folders_check_result[$key]['can_write_file'] = $put_contents === false ? false : true;
        $folders_check_result[$key]['can_delete_file'] = $delete_file;
        $folders_check_result[$key]['can_rm_dir'] = $rm_dir;
    }
    $all_ini_settings = ini_get_all();
    $separator = '<<+>>';
    $res = $separator . json_encode($folders_check_result);
    $res .= $separator . json_encode($all_ini_settings);
    // var_dump($all_ini_settings);
    return $res;
}
开发者ID:sorincoza,项目名称:smt2-for-wordpress,代码行数:34,代码来源:debug-functions.php

示例15: bug_report_check_user

/**
 * Checks if user can use bug_report plugin
 *
 * @return boolean
 *
 * @since 1.5.1
 *
 */
function bug_report_check_user()
{
    global $username, $bug_report_allow_users, $bug_report_admin_email;
    bug_report_init();
    if (file_exists(SM_PATH . 'plugins/bug_report/admins')) {
        $auths = file(SM_PATH . 'plugins/bug_report/admins');
        array_walk($auths, 'bug_report_array_trim');
        $auth = in_array($username, $auths);
    } else {
        if (file_exists(SM_PATH . 'config/admins')) {
            $auths = file(SM_PATH . 'config/admins');
            array_walk($auths, 'bug_report_array_trim');
            $auth = in_array($username, $auths);
        } else {
            if (($adm_id = fileowner(SM_PATH . 'config/config.php')) && function_exists('posix_getpwuid')) {
                $adm = posix_getpwuid($adm_id);
                $auth = $username == $adm['name'];
            } else {
                $auth = false;
            }
        }
    }
    if (!empty($bug_report_admin_email) && $bug_report_allow_users) {
        $auth = true;
    }
    return $auth;
}
开发者ID:teammember8,项目名称:roundcube,代码行数:35,代码来源:functions.php


注:本文中的fileowner函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。