Вход Регистрация
Файл: contao-3.5.8/system/modules/core/library/Contao/Files/Php.php
Строк: 148
<?php

/**
 * Contao Open Source CMS
 *
 * Copyright (c) 2005-2016 Leo Feyer
 *
 * @license LGPL-3.0+
 */

namespace ContaoFiles;


/**
 * Manage files with the PHP functions
 *
 * @author Leo Feyer <https://github.com/leofeyer>
 */
class Php extends Files
{

    
/**
     * Create a directory
     *
     * @param string $strDirectory The directory name
     *
     * @return boolean True if the operation was successful
     */
    
public function mkdir($strDirectory)
    {
        
$this->validate($strDirectory);

        if (
file_exists(TL_ROOT '/' $strDirectory))
        {
            return 
true;
        }

        return 
mkdir(TL_ROOT '/' $strDirectory);
    }


    
/**
     * Remove a directory
     *
     * @param string $strDirectory The directory name
     *
     * @return boolean True if the operation was successful
     */
    
public function rmdir($strDirectory)
    {
        
$this->validate($strDirectory);

        if (!
file_exists(TL_ROOT '/' $strDirectory))
        {
            return 
true;
        }

        return 
rmdir(TL_ROOT'/' $strDirectory);
    }


    
/**
     * Open a file and return the handle
     *
     * @param string $strFile The file name
     * @param string $strMode The operation mode
     *
     * @return resource The file handle
     */
    
public function fopen($strFile$strMode)
    {
        
$this->validate($strFile);

        return @
fopen(TL_ROOT '/' $strFile$strMode);
    }


    
/**
     * Write content to a file
     *
     * @param resource $resFile    The file handle
     * @param string   $strContent The content to store in the file
     */
    
public function fputs($resFile$strContent)
    {
        @
fputs($resFile$strContent);
    }


    
/**
     * Close a file handle
     *
     * @param resource $resFile The file handle
     *
     * @return boolean True if the operation was successful
     */
    
public function fclose($resFile)
    {
        return @
fclose($resFile);
    }


    
/**
     * Rename a file or folder
     *
     * @param string $strOldName The old name
     * @param string $strNewName The new name
     *
     * @return boolean True if the operation was successful
     */
    
public function rename($strOldName$strNewName)
    {
        
// Source file == target file
        
if ($strOldName == $strNewName)
        {
            return 
true;
        }

        
$this->validate($strOldName$strNewName);

        
// Windows fix: delete the target file
        
if (strtoupper(substr(PHP_OS03)) === 'WIN' && file_exists(TL_ROOT '/' $strNewName))
        {
            
$this->delete($strNewName);
        }

        
// Unix fix: rename case sensitively
        
if (strcasecmp($strOldName$strNewName) === && strcmp($strOldName$strNewName) !== 0)
        {
            @
rename(TL_ROOT '/' $strOldNameTL_ROOT '/' $strOldName '__');
            
$strOldName .= '__';
        }

        return @
rename(TL_ROOT '/' $strOldNameTL_ROOT '/' $strNewName);
    }


    
/**
     * Copy a file or folder
     *
     * @param string $strSource      The source file or folder
     * @param string $strDestination The new file or folder path
     *
     * @return boolean True if the operation was successful
     */
    
public function copy($strSource$strDestination)
    {
        
$this->validate($strSource$strDestination);

        return @
copy(TL_ROOT '/' $strSourceTL_ROOT '/' $strDestination);
    }


    
/**
     * Delete a file
     *
     * @param string $strFile The file name
     *
     * @return boolean True if the operation was successful
     */
    
public function delete($strFile)
    {
        
$this->validate($strFile);

        return @
unlink(TL_ROOT '/' $strFile);
    }


    
/**
     * Change the file mode
     *
     * @param string $strFile The file name
     * @param mixed  $varMode The new file mode
     *
     * @return boolean True if the operation was successful
     */
    
public function chmod($strFile$varMode)
    {
        
$this->validate($strFile);

        return @
chmod(TL_ROOT '/' $strFile$varMode);
    }


    
/**
     * Check whether a file is writeable
     *
     * @param string $strFile The file name
     *
     * @return boolean True if the file is writeable
     */
    
public function is_writeable($strFile)
    {
        
$this->validate($strFile);

        return @
is_writeable(TL_ROOT '/' $strFile);
    }


    
/**
     * Move an uploaded file to a folder
     *
     * @param string $strSource      The source file
     * @param string $strDestination The new file path
     *
     * @return boolean True if the operation was successful
     */
    
public function move_uploaded_file($strSource$strDestination)
    {
        
$this->validate($strSource$strDestination);

        return @
move_uploaded_file($strSourceTL_ROOT '/' $strDestination);
    }
}
Онлайн: 1
Реклама