本文整理汇总了PHP中files::isDeletable方法的典型用法代码示例。如果您正苦于以下问题:PHP files::isDeletable方法的具体用法?PHP files::isDeletable怎么用?PHP files::isDeletable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类files
的用法示例。
在下文中一共展示了files::isDeletable方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getSingleUploadedFile
/**
* Réalise l'upload d'une simple image et retourne son chemin.
*
* Par exemple utilisé pour l'upload des filigrane.
*
* Il n'y a PAS de création de miniature.
*
* @param $form_input_name Le nom du champs du formulaire
* @param $sCurrentImageDir Le chemin du répertoire destination
* @param $sFilename Le nom du fichier destination sans l'extension
* @return string Le nom de l'image
*/
public static function getSingleUploadedFile($form_input_name = 'p_file', $sCurrentImageDir, $sFilename)
{
global $okt;
$return = '';
if (isset($_FILES[$form_input_name]) && !empty($_FILES[$form_input_name]['tmp_name'])) {
$sUploadedFile = $_FILES[$form_input_name];
try {
# extension du fichier
$sExtension = pathinfo($sUploadedFile['name'], PATHINFO_EXTENSION);
# des erreurs d'upload ?
util::uploadStatus($sUploadedFile);
# vérification de l'extension
self::checkExtension($sExtension);
# vérification du type
self::checkType($sUploadedFile['type']);
# création du répertoire s'il existe pas
if (!file_exists($sCurrentImageDir)) {
files::makeDir($sCurrentImageDir, true);
}
# nom du fichier
$sOutput = $sFilename . '.' . $sExtension;
# suppression de l'éventuel ancien fichier
if (file_exists($sCurrentImageDir . $sOutput) && files::isDeletable($sCurrentImageDir . $sOutput)) {
unlink($sCurrentImageDir . $sOutput);
}
if (!move_uploaded_file($sUploadedFile['tmp_name'], $sCurrentImageDir . $sOutput)) {
throw new Exception('Impossible de déplacer sur le serveur le fichier téléchargé.');
}
$return = $sOutput;
} catch (Exception $e) {
$okt->error->set('Problème avec l’image : ' . $e->getMessage());
}
}
return $return;
}
示例2: __construct
/**
* Constructor
*
* Creates an instance of fileItem object.
*
* @param string $file Absolute file or directory path
* @param string $root File root path
* @param string $root_url File root URL
*/
public function __construct($file, $root, $root_url = '')
{
$file = path::real($file);
$stat = stat($file);
$path = path::info($file);
$rel = preg_replace('/^' . preg_quote($root, '/') . '\\/?/', '', $file);
$this->file = $file;
$this->basename = $path['basename'];
$this->dir = $path['dirname'];
$this->relname = $rel;
$this->file_url = str_replace('%2F', '/', rawurlencode($rel));
$this->file_url = $root_url . $this->file_url;
$this->dir_url = dirname($this->file_url);
$this->extension = $path['extension'];
$this->mtime = $stat[9];
$this->size = $stat[7];
$this->mode = $stat[2];
$this->uid = $stat[4];
$this->gid = $stat[5];
$this->w = is_writable($file);
$this->d = is_dir($file);
$this->f = is_file($file);
$this->x = file_exists($file . '/.');
$this->del = files::isDeletable($file);
$this->type = $this->d ? null : files::getMimeType($file);
$this->type_prefix = preg_replace('/^(.+?)\\/.+$/', '$1', $this->type);
}
示例3: isDeletable
function isDeletable()
{
return files::isDeletable($this->root . $this->base_path);
}
示例4: deleteUser
/**
* Suppression d'un utilisateur.
*
* @param $id
* @return boolean
*/
public function deleteUser($id)
{
$rsUser = $this->getUsers(array('id' => $id));
if ($rsUser->isEmpty()) {
$this->error->set(sprintf(__('m_users_error_user_%s_not_exists'), $id));
return false;
}
# si on veut supprimer un super-admin alors il faut vérifier qu'il y en as d'autres
if ($rsUser->group_id == oktAuth::superadmin_group_id) {
$iCountSudo = $this->getUsers(array('group_id' => oktAuth::superadmin_group_id), true);
if ($iCountSudo < 2) {
$this->error->set(__('m_users_error_cannot_remove_last_super_administrator'));
return false;
}
}
# si on veut supprimer un admin alors il faut vérifier qu'il y en as d'autres
if ($rsUser->group_id == oktAuth::admin_group_id) {
$iCountAdmin = $this->getUsers(array('group_id' => oktAuth::admin_group_id), true);
if ($iCountAdmin < 2) {
$this->error->set(__('m_users_error_cannot_remove_last_administrator'));
return false;
}
}
$sQuery = 'DELETE FROM ' . $this->t_users . ' ' . 'WHERE id=' . (int) $id;
if (!$this->db->execute($sQuery)) {
return false;
}
$this->db->optimize($this->t_users);
# delete user custom fields
if ($this->config->enable_custom_fields) {
$this->fields->delUserValue($id);
}
# delete user directory
$user_dir = $this->upload_dir . $id . '/';
if (files::isDeletable($user_dir)) {
files::deltree($user_dir);
}
return true;
}
示例5: updFiles
/**
* Modification des fichiers
*
* @return array
*/
public function updFiles($iItemId, $aCurrentFiles = array())
{
$aNewFiles = array();
$j = 1;
for ($i = 1; $i <= $this->config['number']; $i++) {
if (!isset($_FILES[sprintf($this->config['files_patern'], $i)]) || empty($_FILES[sprintf($this->config['files_patern'], $i)]['tmp_name'])) {
if (isset($aCurrentFiles[$i])) {
$aNewFiles[$j] = array('filename' => $aCurrentFiles[$i]['filename'], 'title' => !empty($_REQUEST[sprintf($this->config['files_title_patern'], $i)]) ? $_REQUEST[sprintf($this->config['files_title_patern'], $i)] : $aCurrentFiles[$i]['title']);
$j++;
}
continue;
}
$sUploadedFile = $_FILES[sprintf($this->config['files_patern'], $i)];
try {
$sExtension = pathinfo($sUploadedFile['name'], PATHINFO_EXTENSION);
# des erreurs d'upload ?
util::uploadStatus($sUploadedFile);
# vérification de l'extension
$this->checkFile($sExtension);
# vérification du type
// $aAllowedTypes = array('image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png');
// if (!in_array($sUploadedFile['type'], $aAllowedTypes)) {
// throw new Exception('Type de fichier non-autorisé.');
// }
# création du répertoire s'il existe pas
if (!file_exists($this->upload_dir)) {
files::makeDir($this->upload_dir, true);
}
# suppression de l'éventuel ancien fichier
if (isset($aCurrentFiles[$i]) && files::isDeletable($this->upload_dir . $aCurrentFiles[$i])) {
unlink($this->upload_dir . $aCurrentFiles[$i]);
}
$sDestination = $this->upload_dir . $iItemId . '-' . $j . '.' . $sExtension;
if (!move_uploaded_file($sUploadedFile['tmp_name'], $sDestination)) {
throw new Exception('Impossible de déplacer sur le serveur le fichier téléchargé.');
}
$aNewFiles[$j] = array('filename' => basename($sDestination), 'title' => !empty($_REQUEST[sprintf($this->config['files_title_patern'], $i)]) ? $_REQUEST[sprintf($this->config['files_title_patern'], $i)] : $j);
$j++;
} catch (Exception $e) {
$this->okt->error->set('Problème avec le fichier ' . $i . ' : ' . $e->getMessage());
}
}
return array_filter($aNewFiles);
}
示例6: editFiles
/**
* Modification des fichiers
*
* @return void
*/
protected function editFiles()
{
$aCurrentFiles = $this->getQuestion($this->params['id'])->getFilesInfo();
$aNewFiles = array();
foreach ($this->okt->languages->list as $aLanguage) {
$aNewFiles[$aLanguage['code']] = array();
$j = 1;
for ($i = 0; $i <= $this->config->files['number']; $i++) {
if (!isset($_FILES['p_files_' . $aLanguage['code'] . '_' . $i]) || empty($_FILES['p_files_' . $aLanguage['code'] . '_' . $i]['tmp_name'])) {
if (!empty($aCurrentFiles[$aLanguage['code']][$i])) {
$aNewFiles[$aLanguage['code']][$i] = $aCurrentFiles[$aLanguage['code']][$i]['filename'];
$j++;
}
continue;
}
$sUploadedFile = $_FILES['p_files_' . $aLanguage['code'] . '_' . $i];
try {
# des erreurs d'upload ?
util::uploadStatus($sUploadedFile);
# vérification de l'extension
$sExtension = pathinfo($sUploadedFile['name'], PATHINFO_EXTENSION);
if (!in_array($sExtension, explode(',', $this->config->files['allowed_exts']))) {
throw new Exception('Type de fichier non-autorisé.');
}
if (!file_exists($this->upload_dir)) {
files::makeDir($this->upload_dir, true);
}
if (!empty($aCurrentFiles[$aLanguage['code']][$i]) && files::isDeletable($this->upload_dir . $aCurrentFiles[$aLanguage['code']][$i]['filename'])) {
unlink($this->upload_dir . $aCurrentFiles[$aLanguage['code']][$i]['filename']);
}
$sDestination = $this->upload_dir . util::strToLowerURL($this->params['title'][$aLanguage['code']], false) . '-' . $aLanguage['code'] . '-' . $j . '.' . $sExtension;
if (!move_uploaded_file($sUploadedFile['tmp_name'], $sDestination)) {
throw new Exception('Impossible de déplacer sur le serveur le fichier téléchargé.');
}
$aNewFiles[$aLanguage['code']][] = basename($sDestination);
$j++;
} catch (Exception $e) {
$this->okt->error->set('Pour le fichier ' . $i . ' dans la langue ' . $aLanguage['code'] . ' : ' . $e->getMessage());
}
}
}
$this->params['files'] = $aNewFiles;
}