本文整理汇总了PHP中CopixConfig::osIsWindows方法的典型用法代码示例。如果您正苦于以下问题:PHP CopixConfig::osIsWindows方法的具体用法?PHP CopixConfig::osIsWindows怎么用?PHP CopixConfig::osIsWindows使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CopixConfig
的用法示例。
在下文中一共展示了CopixConfig::osIsWindows方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: write
/**
* Write a file to the disk.
* This function is heavily based on the way smarty process its own files.
* Is using a temporary file and then rename the file. We guess the file system will be smarter than us, avoiding a writing / reading
* while renaming the file.
*/
function write($file, $data)
{
$_dirname = dirname($file);
//asking to create the directory structure if needed.
$this->_createDir($_dirname);
if (!@is_writable($_dirname)) {
// cache_dir not writable, see if it exists
if (!@is_dir($_dirname)) {
trigger_error(CopixI18N::get('copix:copix.error.cache.directoryNotExists', array($_dirname)));
return false;
}
trigger_error(CopixI18N::get('copix:copix.error.cache.notWritable', array($file, $_dirname)));
return false;
}
// write to tmp file, then rename it to avoid
// file locking race condition
$_tmp_file = tempnam($_dirname, 'wrt');
if (!($fd = @fopen($_tmp_file, 'wb'))) {
$_tmp_file = $_dirname . '/' . uniqid('wrt');
if (!($fd = @fopen($_tmp_file, 'wb'))) {
trigger_error(CopixI18N::get('copix:copix.error.cache.errorWhileWritingFile', array($file, $_tmp_file)));
return false;
}
}
fwrite($fd, $data);
fclose($fd);
// Delete the file if it allready exists (this is needed on Win,
// because it cannot overwrite files with rename())
if (CopixConfig::osIsWindows() && file_exists($file)) {
@unlink($file);
}
@rename($_tmp_file, $file);
@chmod($file, 0644);
return true;
}
示例2: write
/**
* Ecriture d'un fichier sur le disque dur
*
* Cette fonction est basée sur le code trouvé dans Smarty (http://smarty.php.net)
*
* @param string $file le nom du fichier (le fichier sera crée ou remplacé)
* @param mixed $data les données à écrire dans le fichier
* @return bool si la fonction a correctement écrit les données dans le fichier
*/
public static function write($file, $data)
{
$_dirname = dirname($file);
//If the $file finish with / just createDir
if (($lastChar = substr($file, -1)) == '/' || $lastChar == '\\') {
self::_createDir($file);
return true;
} else {
//asking to create the directory structure if needed.
self::_createDir($_dirname);
}
if (!@is_writable($_dirname)) {
// cache_dir not writable, see if it exists
if (!@is_dir($_dirname)) {
throw new Exception(_i18n('copix:copix.error.cache.directoryNotExists', array($_dirname)));
}
throw new Exception(_i18n('copix:copix.error.cache.notWritable', array($file, $_dirname)));
}
// write to tmp file, then rename it to avoid
// file locking race condition
$_tmp_file = tempnam($_dirname, 'wrt');
if (!($fd = @fopen($_tmp_file, 'wb'))) {
$_tmp_file = $_dirname . '/' . uniqid('wrt');
if (!($fd = @fopen($_tmp_file, 'wb'))) {
throw new Exception(_i18n('copix:copix.error.cache.errorWhileWritingFile', array($file, $_tmp_file)));
}
}
fwrite($fd, $data);
fclose($fd);
// Delete the file if it allready exists (this is needed on Win,
// because it cannot overwrite files with rename())
if (CopixConfig::osIsWindows()) {
// DDT : ajout du test pour la vérification de l'existence du fichier
if (file_exists($file)) {
@unlink($file);
}
@copy($_tmp_file, $file);
//Sur certaines configuration bien particulières, il arrive que
//windows echoue sur le rename... ?
@unlink($_tmp_file);
} else {
@rename($_tmp_file, $file);
}
@chmod($file, self::FILEMOD);
return true;
}
示例3: getRealPath
/**
* Renvoi le répertoire réel (utilise realpath si activé sur le serveur, sinon, renvoie un équivalent)
*
* @param string $pPath Répertoire dont on veut le realpath
* @return string
*/
public static function getRealPath($pPath)
{
$config = CopixConfig::instance();
if ($config->realPathDisabled === false) {
$realPath = realpath($pPath);
$last = substr($pPath, strlen($pPath) - 1);
// si on a mi un caractère de fin de répertoire
if ($last == '\\' || $last == '/') {
$realPath .= CopixConfig::osIsWindows() ? '\\' : '/';
}
return $realPath;
} else {
$result = array();
$pPathA = preg_split('/[\\/\\\\]/', $pPath);
if (!$pPathA[0]) {
$result[] = '';
}
foreach ($pPathA as $key => $dir) {
if ($dir == '..') {
if (end($result) == '..') {
$result[] = '..';
} elseif (!array_pop($result)) {
$result[] = '..';
}
} elseif ($dir && $dir != '.') {
$result[] = $dir;
}
}
if (!end($pPathA)) {
$result[] = '';
}
return implode(CopixConfig::osIsWindows() ? '\\' : '/', $result);
}
}