本文整理汇总了PHP中CFile::MoveUploadedFile方法的典型用法代码示例。如果您正苦于以下问题:PHP CFile::MoveUploadedFile方法的具体用法?PHP CFile::MoveUploadedFile怎么用?PHP CFile::MoveUploadedFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFile
的用法示例。
在下文中一共展示了CFile::MoveUploadedFile方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveFileAction
public function saveFileAction()
{
//die("1ssss");
if (!($img = $_FILES['Filedata'])) {
print json_encode(array('success' => false, 'text' => 'Не получены данные', 'debug' => $_FILES['Filedata']));
return false;
}
if (front::$_req['type'] == 'img') {
list($width, $height, $type, $attr) = getimagesize($img['tmp_name']);
$ext = array('gif', 'jpeg', 'png');
$ext_format = array('gif' => 1, 'jpeg' => 2, 'png' => 3);
if ($type < 1 || $type > 3) {
// print(json_encode(array ('success' => false, 'text'=>"Формат не поддерживается", 'debug' => $_FILES['Filedata'])));
// return false;
}
if (front::$_req['width'] > 0 && $width > front::$_req['width'] || front::$_req['height'] > 0 && $height > front::$_req['height']) {
print json_encode(array('success' => false, 'text' => 'Слишком большое разрешение', 'debug' => $_FILES['Filedata']));
return false;
}
}
$b_file = new CFile($_FILES['Filedata']);
$b_file->max_size = 1048576;
$b_file->server_root = 1;
$f_name = $b_file->MoveUploadedFile('temp/');
echo json_encode(array('success' => true, 'id' => $f_name, 'path' => WDCPREFIX . '/temp/' . $f_name, 'name' => $_FILES['Filedata']['name']));
}
示例2: saveFileAction
function saveFileAction()
{
if (!($img = $_FILES['Filedata'])) {
print json_encode(array('success' => false, 'text' => "Не получены данные", 'debug' => $_FILES['Filedata']));
return false;
}
if (front::$_req["type"] == "img") {
list($width, $height, $type, $attr) = getimagesize($img['tmp_name']);
$ext = array('gif', 'jpeg', 'png');
$ext_format = array('gif' => 1, 'jpeg' => 2, 'png' => 3);
if ($type < 1 || $type > 3) {
print json_encode(array('success' => false, 'text' => "Формат не поддерживается", 'debug' => $_FILES['Filedata']));
return false;
}
if (front::$_req["width"] > 0 && $width > front::$_req["width"] || front::$_req["height"] > 0 && $height > front::$_req["height"]) {
print json_encode(array('success' => false, 'text' => "Слишком большое разрешение", 'debug' => $_FILES['Filedata']));
return false;
}
}
$b_file = new CFile($_FILES['Filedata']);
$b_file->max_size = 1048576;
$b_file->server_root = 1;
$f_name = $b_file->MoveUploadedFile("temp/");
echo json_encode(array("success" => true, "id" => $f_name, "path" => WDCPREFIX . "/temp/" . $f_name));
}
示例3: CFile
if (trim($msgtext) == '') {
$alert[2] = 'Поле не должно быть пустым!';
}
if (trim($title) == '') {
$alert[0] = 'Поле не должно быть пустым!';
}
$file = new CFile($_FILES['attach']);
if ($file->tmp_name) {
$file->max_size = articles::ARTICLE_MAX_LOGOSIZE;
$file->proportional = 1;
$file->max_image_size = array('width' => 100, 'height' => 100, 'less' => 1);
$file->resize = 1;
$file->proportional = 1;
// $file->topfill = 1;
$file->server_root = 1;
$f_name = $file->MoveUploadedFile("about/articles/");
if (!isNulArray($file->error)) {
$alert[3] = "Файл не удовлетворяет условиям загрузки";
$error_flag = 1;
}
$fileid = $file->id;
$filepath = $file->path;
$filename = $file->name;
//
// if(!$file->img_to_small('sm_' . $f_name, array('width' => 100, 'height' => 100))) {
// $alert[3] = "Невозможно уменьшить изображение";
// $error_flag = 1;
// }
}
if (!$fileid) {
$alert[3] = 'Необходимо загрузить файл.';
示例4: CFile
}
$link = WDCPREFIX . '/' . $dir . (!$prevname ? $pictname : $prevname);
$js_callback_func = "parent.addIMGLogo('{$link}', '{$img->id}')";
$js_callback_err_func = "parent.UploadLogoFileError('{$err}')";
break;
case 'upload':
if (is_array($_FILES['upload_file'])) {
$img = new CFile($_FILES['upload_file']);
$img->table = 'file_wizard';
$img->disable_animate = true;
if ($img->size > 0) {
$dir = 'wizard/';
$img->max_size = 5242880;
$img->proportional = 1;
$img->server_root = 1;
$pictname = $img->MoveUploadedFile($dir);
$id_upload = $img->id;
if (!isNulArray($img->error)) {
if (is_array($img->error)) {
$err = $img->error[0];
} else {
$err = $img->error;
}
$error = true;
$pictname = $prevname = '';
} else {
if (in_array($img->getext(), $GLOBALS['disallowed_array'])) {
$err = 'Недопустимый тип файла';
$error = true;
} else {
if (in_array($img->getext(), $GLOBALS['graf_array']) && strtolower($img->getext()) != 'swf' && strtolower($img->getext()) != 'flv') {
示例5: UpdateInform
/**
* Сохраняет файл с резюме
* @param integer $fid uid фрилансера
* @param CFile $resume объект CFile с данными о файле с резюме. Если резюме уже существует, то оно будет перезаписано
* @param boolean $del_resume удалить резюме? В случае удаления новое резюме загужено не будет, в независимости от переменной $resume
* @param integer $file_error 1 - если произошла ошибка при загрузке файла
* @return string возможная ошибка
*/
function UpdateInform($fid, $resume, $del_resume, &$file_error)
{
// если юзер меняет файл резюме пока предыдущий еще не отмодерирован - будет история изменений
$aChange = $GLOBALS['DB']->row("SELECT id, old_val, new_val FROM users_change WHERE user_id = ?i AND ucolumn = 'resume_file'", $fid);
$aDelFile = array();
// файлы которые нужно будет удалять сразу
while (strlen($this->blocks) < $GLOBALS['blockssize']) {
$this->blocks .= '1';
}
$dir = get_login($fid);
$err = '';
$old = $this->GetField($fid, $err, "resume_file");
$error .= $err;
if ($del_resume) {
$this->resume_file = '';
} elseif ($resume->name) {
$resume->max_size = 5242880;
$this->resume_file = $resume->MoveUploadedFile($dir . "/resume");
$error .= $resume->StrError('<br />');
if ($error) {
$file_error = 1;
}
}
if (!$error) {
$error .= $this->Update($fid, $res);
// определяемся какие файлы нужно удалить
if ($del_resume == 1) {
// удаляем файл резюме
if ($aChange) {
// если хранили версии файла резюме на случай возврата - то грохаем обе
if ($aChange['old_val']) {
$aDelFile[] = $aChange['old_val'];
}
$aDelFile[] = $aChange['new_val'];
} else {
// иначе просто грохаем файл резюме
$aDelFile[] = $old;
}
} elseif ($resume->name) {
// меняем файл резюме
if ($aChange && $aChange['new_val']) {
// грохаем только промежуточную версию, если была
$aDelFile[] = $aChange['new_val'];
}
}
}
// удаление не нужных файлов (если нет ошибок при сохранении разумеется)
if ($aDelFile && !$error) {
foreach ($aDelFile as $file) {
$resume->Delete(0, "users/" . substr($dir, 0, 2) . "/" . $dir . "/resume/", $file);
}
}
return $error;
}
示例6: adWords
//.........这里部分代码省略.........
$sql = "\n SELECT\n p.id, e.compname, country.country_name, city.city_name,\n date_trunc('seconds', p.create_date) c_date, p.name, p.descr, p.cost, p.currency, p.priceby,\n array_agg(pts.category_id) cats, array_agg(pts.subcategory_id) subcats\n FROM\n projects p\n INNER JOIN\n employer e ON e.uid = p.user_id AND e.is_banned = B'0'\n LEFT JOIN\n country ON country.id = p.country\n LEFT JOIN\n city ON city.id = p.city\n LEFT JOIN\n project_to_spec pts ON pts.project_id = p.id\n LEFT JOIN\n projects_blocked pb ON pb.project_id = p.id\n WHERE\n /*( p.moderator_status <> 0 OR p.moderator_status IS NULL ) AND*/ \n pb.project_id IS NULL \n AND p.post_date > DATE_TRUNC('day', now() - interval '2 weeks')\n GROUP BY\n p.id, e.compname, country.country_name, city.city_name, c_date, p.name, p.descr, p.cost, p.currency, p.priceby\n ORDER BY\n id DESC\n ";
$tmpfile = "/var/tmp/adwords.csv";
$fp = fopen($tmpfile, "a");
$res = $DB->query($sql);
$c = 0;
while ($row = pg_fetch_assoc($res)) {
$data = array();
// ссылка
$data['url'] = $GLOBALS['host'] . '/projects/' . $row['id'] . '/' . translit(strtolower(htmlspecialchars_decode($row['name'], ENT_QUOTES))) . '.html';
// цена
if (!empty($row['cost'])) {
switch ($row['currency']) {
case 0:
$cost = "{$row['cost']}\$";
break;
case 1:
$cost = "€{$row['cost']}";
break;
case 2:
$cost = "{$row['cost']} руб.";
break;
case 4:
$cost = "{$row['cost']} FM";
break;
}
switch ($row['priceby']) {
case 1:
$priceby = 'за час';
break;
case 2:
$priceby = 'за день';
break;
case 3:
$priceby = 'за месяц';
break;
case 4:
$priceby = 'за проект';
break;
}
$data['Wage'] = "{$cost} {$priceby}";
} else {
$data['Wage'] = 'По договоренности';
}
// специализация (если несколько, берем только первую)
$cats = $DB->array_to_php($row['cats']);
$subcats = $DB->array_to_php($row['subcats']);
$data['Vacancy'] = '';
$data['Vacancy_title'] = '';
$data['Category 1'] = '';
$data['Category 2'] = '';
if ($cats[0]) {
$data['Vacancy'] = $groups[(int) $cats[0]]['name_case'];
$data['Category 1'] = $groups[(int) $cats[0]]['name'];
$data['Category 1'] = preg_replace("/[\\.\\,\\_\\\\\\/\\*\\;\\:\\?]+/", " ", $data['Category 1']);
$data['Category 1'] = preg_replace("/\\s{2,}/", " ", $data['Category 1']);
$data['Category 1'] = preg_replace("/[^-A-Za-zА-Яа-яЁё0-9\\s]+/", "", $data['Category 1']);
} else {
$data['Category 1'] = 'Прочее';
}
if ($subcats[0]) {
$data['Vacancy'] = $profs[(int) $subcats[0]]['name_case'];
$data['Category 2'] = $profs[(int) $subcats[0]]['name'];
$data['Category 2'] = preg_replace("/[\\.\\,\\_\\\\\\/\\*\\;\\:\\?]+/", " ", $data['Category 2']);
$data['Category 2'] = preg_replace("/\\s{2,}/", " ", $data['Category 2']);
$data['Category 2'] = preg_replace("/[^-A-Za-zА-Яа-яЁё0-9\\s]+/", "", $data['Category 2']);
} else {
$data['Category 2'] = $data['Category 1'];
}
if (empty($data['Vacancy'])) {
$data['Vacancy'] = 'Прочее';
} else {
$data['Vacancy'] = preg_replace("/[\\.\\,\\_\\\\\\/\\*\\;\\:\\?]+/", " ", $data['Vacancy']);
$data['Vacancy'] = preg_replace("/\\s{2,}/", " ", $data['Vacancy']);
$data['Vacancy'] = preg_replace("/[^-A-Za-zА-Яа-яЁё0-9\\s]+/", "", $data['Vacancy']);
}
$data['Vacancy_title'] = LenghtFormatEx($data['Vacancy'], 30, '');
$data['vacancy_id'] = $row['id'];
// сохраняем
if (!$c) {
$rowsNames = array_keys($data);
$dataStr = implode(',', $rowsNames) . "\r\n";
fwrite($fp, chr(255) . chr(254) . iconv('CP1251', 'UTF-16LE//TRANSLIT', $dataStr));
}
$dataStr = implode(',', $data) . "\r\n";
fwrite($fp, iconv('CP1251', 'UTF-16LE//TRANSLIT', $dataStr));
$c++;
}
fclose($fp);
$path = pathinfo($filename);
$oldFile = new CFile();
$newFile = new CFile(array('tmp_name' => $tmpfile, 'name' => NULL, 'size' => filesize($tmpfile)));
$oldFile->server_root = 1;
$newFile->server_root = 1;
$oldFile->Delete(0, $path['dirname'] . '/', $path['basename']);
$newFile->max_size = 1024 * 1048576;
$newFile->MoveUploadedFile($path['dirname'] . '/');
$newFile->Rename($filename);
unlink($tmpfile);
return true;
}
示例7: array
}
if (empty($_SESSION['masssending']['files'])) {
$_SESSION['masssending']['files'] = array();
}
if (count($_SESSION['masssending']['files']) >= masssending::MAX_FILES) {
$error = 'Максимальное кол-во прикрепленных файлов - ' . masssending::MAX_FILES;
} else {
if ($_SESSION['masssending_total_filesize'] + $_FILES['attach']['size'] > masssending::MAX_FILE_SIZE) {
$error = 'Максимальный объем прикрепленных файлов - ' . masssending::MAX_FILE_SIZE / (1024 * 1024) . ' Mб';
} else {
if ($uid = get_uid(false)) {
$login = get_login($uid);
$file = new CFile($_FILES['attach']);
$file->table = 'file';
$file->max_size = masssending::MAX_FILE_SIZE;
$filename = $file->MoveUploadedFile("{$login}/contacts");
$filetype = $file->getext();
$error = $file->error;
} else {
$error = 'Вы не авторизованы';
}
if (!$file->id && !$error) {
$error = 'Ошибка при загрузке файла. Пожалуйста, попробуйте еще раз.';
}
$masssending->AddFile($file->id, session_id());
}
}
if ($error || ($error = $masssending->error)) {
echo "\n\t\t-- IBox --\n\t\t<uploaded>\n\t\t\t<nothing>opera</nothing>\n\t\t\t<status>error</status>\n\t\t\t<message>{$error}</message>\n\t\t</uploaded>\n\t\t-- IBox --\n\t";
exit(1);
}
示例8: _moveUploadedFile
/**
* Перемещает загруженный файл изображения на dav сервер если высота файла менее 30 px
* @param $id - ключ массива информации о файле в $_FILES
* @param &$err - текстовое сообщение об ошибке
* @return string - путь к файлу от корня dav сервера без WDCSERVER или пустая строка
* */
private function _moveUploadedFile($id, &$err)
{
if (count($_FILES[$id])) {
$data = $_FILES[$id];
$name = strtolower($data["name"]);
$mime = $data["type"];
if (strpos($mime, "png") || strpos($mime, "jpg") || strpos($mime, "gif") || strpos($mime, "jpeg")) {
$sz = getimagesize($data["tmp_name"]);
if ($sz[1] > 30) {
$err = "Размер файла превышает 30 пикселей";
return '';
}
$cfile = new CFile($data);
$name = $cfile->MoveUploadedFile("images");
return "/" . $cfile->path . $name;
} else {
$err = "Недопустимый тип файла";
return '';
}
}
}
示例9: generateArchive
//.........这里部分代码省略.........
if (!$files) {
throw new Exception('Нет файлов документов');
}
$_archive_dir = uniqid();
$_archive_path = self::TMP_PATH . $_archive_dir . DIRECTORY_SEPARATOR;
$_dav_temp_path = self::DAV_TMP_PATH . $_archive_dir . DIRECTORY_SEPARATOR;
$filelist = array();
$cfile = new CFile();
if (!$cfile->MakeDir(trim($_dav_temp_path, '/'))) {
throw new Exception('Не удалось создать временную директорию в хранилище');
}
//Формируем массив файлов для архива
foreach ($files as $file) {
$cfile->name = $file['fname'];
$cfile->path = $file['path'];
$info = new SplFileInfo($file['fname']);
$_ext = $info->getExtension();
$name = $info->getBasename(".{$_ext}");
//Создаем временную директорию для файлов на локальной файловой системе
$_local_tmp_path = "{$_archive_path}{$file['src_id']}/";
if (!file_exists($_local_tmp_path)) {
if (!mkdir($_local_tmp_path, 0777, true)) {
throw new Exception("Нет прав на создание: {$_local_tmp_path}");
}
}
//Сколько копий документа сделать в зависимости от его типа
$doc_cnt = isset($this->doc_type_cnt[$file['doc_type']]) && $this->doc_type_cnt[$file['doc_type']] > 1 ? $this->doc_type_cnt[$file['doc_type']] : 1;
$_prefix = sprintf('%07d-', $file['src_id']);
while ($doc_cnt > 0) {
$_suffix = $doc_cnt > 1 ? "-{$doc_cnt}" : '';
$_dav_tmp_filename = "{$_dav_temp_path}{$name}{$_suffix}.{$_ext}";
if (!$cfile->copyFileTo($_dav_tmp_filename)) {
throw new Exception("Не удалось скопировать: {$_dav_tmp_filename}");
}
$_tmp_name = empty($file['original_name']) ? $name : $file['original_name'];
$_local_tmp_filename = "{$_local_tmp_path}{$_prefix}{$_tmp_name}{$_suffix}.{$_ext}";
//Кодировка имен файлов для Windows
$_local_tmp_filename = iconv('WINDOWS-1251', 'CP866', $_local_tmp_filename);
//$_local_tmp_filename = iconv('WINDOWS-1251', 'UTF-8', $_local_tmp_filename);
$filelist[$_dav_tmp_filename] = $_local_tmp_filename;
//Перемещаем нужные документы из хранища во временную папку
if (!$cfile->copyToLocalPathFromDav($_dav_tmp_filename, $_local_tmp_filename)) {
throw new Exception("Не удалось переместить файл из хранища {$_dav_tmp_filename} \n в локальную файловую систему {$_local_tmp_filename}");
}
$doc_cnt--;
}
}
if (empty($filelist)) {
throw new Exception("Не удалось сформировать массив документов");
}
/*
* @todo: пока используем CFile::copyToLocalPathFromDav
*
//Перемещаем нужные документы из хранища во временную папку
$cfile = new CFile();
$res = $cfile->copyFilesToLocalPath($filelist);
if (!$res) {
throw new Exception("Не удалось переместить файлы из хранища");
}
*/
//Создаем архив документов
$_zip_filename = self::TMP_PATH . "{$_archive_dir}.zip";
$zip = new ZipArchive();
if ($zip->open($_zip_filename, ZipArchive::CREATE)) {
foreach ($filelist as $filename) {
$localname = basename($filename);
$zip->addFile($filename, $localname);
}
$zip->close();
}
if (!file_exists($_zip_filename)) {
throw new Exception("Не удалось создать архив.");
}
//Загружаем архив документов
$cfile = new CFile(array('tmp_name' => $_zip_filename, 'size' => filesize($_zip_filename), 'name' => basename($_zip_filename)), self::$_TABLE_FILE);
$cfile->server_root = true;
$cfile->original_name = $archObj->getName();
$cfile->src_id = $archObj->id;
$cfile->max_size = 104857600;
//100Mb
$cfile->MoveUploadedFile(self::DAV_PATH);
if (!$cfile->id) {
$_error = is_array($cfile->error) ? implode(', ', $cfile->error) : $cfile->error;
throw new Exception("Не удалось загрузить архив в хранилище: {$_error}");
}
$this->updateArchive($archObj->id, array('file_id' => $cfile->id, 'try_count' => $archObj->try_count + 1, 'status' => self::STATUS_SUCCESS));
//@todo: send mail here!
//Удаляем
$cfile->deleteFromTempDir($_dav_temp_path);
delete_files($_archive_path, true, 1);
unlink($_zip_filename);
//------------------------------------------------------------------
$this->addArchiveToLetters($bs_ids, $cfile);
} catch (Exception $e) {
$this->updateArchive($archObj->id, array('status' => self::STATUS_ERROR, 'try_count' => $archObj->try_count + 1, 'techmessage' => $e->getMessage()));
return false;
}
return true;
}
示例10: EditPortf
/**
* Редактирование работы в портфолио.
*
* @see self::addPortf();
*
* @param integer $fid ИД
* @param string $name Название работы
* @param string $pict Основное изображение
* @param string $sm_pict Уменьшенное изображение
* @param string $link Ссылка на работу
* @param string $descr Описание работы
* @param integer $prof Специализация работы
* @param integer $cost Стоимость работы
* @param integer $cost_type Тип стоимости
* @param integer $time_type Тип времени работы
* @param integer $time_value Время рабты
* @param integer $prev_type Тип превью
* @param mixed $file_error Ошибка файла если есть
* @param mixed $preview_error Превью ошибка
* @param integer $new_position Новая позиция
* @param integer $in_shop Работа в магазине
* @param integer $is_video Есть ли видео
* @param string $video_link Ссылка на видео
* @param boolean $upd_prev Нужно ли обновить превью из основного изображения
* @param integer $moduser_id UID изменяющего пользователя (админа). если null - то берется $fid
* @param string $pict_filename Основное изображение для новой загрузки файлов
* @param string $prev_pict_filename Уменьшенное изображение для новой загрузки файлов
* @param string $login логин пользователя на случай если редактирует админ
* @param string $modified_reason причина редактирования
*
* @return string Сообщение об ошибке
*/
public function EditPortf($fid, $name, $pict, $sm_pict, $link, $descr, $prof, $cost, $cost_type, $time_type, $time_value, $prev_type, $prj_id, &$file_error, &$preview_error, $new_position, $in_shop = 0, $video_link = '', $upd_prev = false, $moduser_id = null, $pict_filename = '', $prev_pict_filename = '', $login = '', $modified_reason = '')
{
global $DB;
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php';
$prfs = new professions();
$profs = $prfs->GetAllProfessionsPortf($fid);
foreach ($profs as $pf) {
if ($pf['checked']) {
$check_prof[] = $pf['id'];
}
}
$check_prof[] = professions::CLIENTS_PROF_ID;
$check_prof[] = professions::BEST_PROF_ID;
if (!in_array($prof, $check_prof)) {
return false;
}
$old_pict = $this->GetField($prj_id, 'pict');
$old_prev_pict = $this->GetField($prj_id, 'prev_pict');
$sp = $this->GetField($prj_id, 'show_preview');
$dir = $login ? $login : get_login($fid);
$l_dir = substr($dir, 0, 2) . '/' . $dir;
$mp = false;
$filename = '';
$fullDir = 'users/' . $l_dir . '/upload/';
$moduser_id = $moduser_id ? $moduser_id : $fid;
// если превью не загружено и требуется обновить превью на основе основного изображения
if (!$sm_pict->size > 0 && $upd_prev) {
$sm_pict = new CFile();
$sm_pict->GetInfo($fullDir . $old_pict);
// оригинальное большое изображение
if ($sm_pict->size > 0) {
$sm_pict->table = 'file_template';
$sm_pict->quality = 100;
if ($sm_pict->resizeImage($fullDir . 'sm_' . $sm_pict->name, 200, 200, 'auto', true)) {
// уменьшаем
$filename = 'sm_' . $sm_pict->name;
$static_preview = $filename;
$mp = true;
}
}
}
/**
* Отдельно загруженное превью.
*/
if (($sm_pict->size > 0 || $prev_pict_filename) && !$upd_prev) {
$preview_error = '';
if ($sm_pict->size > 0) {
$sm_pict->max_image_size = array('width' => 200, 'height' => 200, 'less' => 0);
$sm_pict->resize = 1;
$sm_pict->proportional = 1;
$sm_pict->prefix_file_name = 'sm_';
$sm_pict->max_size = 102400;
$filename = $sm_pict->MoveUploadedFile($dir . '/upload');
$preview_error = $sm_pict->StrError();
// генерируем неанимированное gif превью для ответов в проектах (только для gif файлов)
// файл будет такой: st_sm_f_имя файла.gif
if ($sm_pict->image_size['type'] == 1) {
$static_preview = 'st_' . $sm_pict->name;
$sm_pict->resizeImage($sm_pict->path . $static_preview, 200, 200, 'auto', true);
} else {
$static_preview = $sm_pict->name;
}
} else {
$filename = $prev_pict_filename;
$static_preview = $prev_pict_filename;
}
if ($preview_error) {
return $preview_error;
//.........这里部分代码省略.........
示例11: getimagesize
if (!$commune_id) {
$commune_id = __paramInit('int', 'communeid', 'communeid');
}
if (!$commune_id) {
$commune_id = __paramInit('int', 'commune_id', 'commune_id');
}
if (!intval($commune_id)) {
$comm_info = commune::getCommuneInfoByMsgID($top_id);
$commune_id = $comm_info['commune_id'];
}
$commune_member = commune::GetUserCommuneRel($commune_id, $uid);
if ($permissions > 0 || $commune_member['is_accepted'] || $commune_member['is_author']) {
$info = getimagesize($_FILES['wysiwyg_uploadimage']['tmp_name']);
if ($info['mime'] && strpos($info['mime'], 'shockwave-flash') === false) {
$cfile = new CFile($_FILES['wysiwyg_uploadimage'], 'file_commune');
$fname = $cfile->MoveUploadedFile($_SESSION['login'] . '/upload');
if ($cfile->image_size['width'] > commune::IMAGE_MAX_WIDTH || $cfile->image_size['height'] > commune::IMAGE_MAX_HEIGHT) {
$cfile->Delete($cfile->id);
echo 'status=fileTooBig&msg=Размер изображения превышает максимально допустимый: ' . commune::IMAGE_MAX_WIDTH . ' x ' . commune::IMAGE_MAX_HEIGHT;
exit;
}
if ($fname) {
//добавить данные о файле
commune::addWysiwygFile($cfile);
//запомнить идентификатор временного файла
$_SESSION['wysiwyg_inline_files'][$cfile->id] = $cfile->id;
$link = WDCPREFIX . '/users/' . substr($_SESSION['login'], 0, 2) . '/' . $_SESSION['login'] . '/upload/' . $fname;
$imgWidth = $cfile->image_size['width'];
$imgHeight = $cfile->image_size['height'];
echo "status=uploadSuccess&url={$link}&width={$imgWidth}&height={$imgHeight}";
} else {
示例12: array
$error = false;
$error_add_file = false;
if ($request['is_post']) {
// загрузка файлов, сначала грузим файлы
if ($_FILES['attach']) {
$attach = $_FILES['attach'];
$files = array();
if (is_array($attach) && !empty($attach['name'])) {
foreach ($attach['name'] as $key => $v) {
if (!$attach['name'][$key]) {
continue;
}
$tmp = new CFile(array('name' => $attach['name'][$key], 'type' => $attach['type'][$key], 'tmp_name' => $attach['tmp_name'][$key], 'error' => $attach['error'][$key], 'size' => $attach['size'][$key]));
$tmp->max_size = 10485760;
$tmp->server_root = true;
$tmp->MoveUploadedFile('/docs/');
$files_attache[] = $tmp;
if ($tmp->error && !$tmp->id) {
$error_add_file = $tmp->error;
$error = true;
}
}
}
}
if (count($_POST['attach_files_id']) > 0) {
foreach ($_POST['attach_files_id'] as $key => $value) {
$tmp = new CFile();
$tmp->max_size = 10485760;
$tmp->server_root = true;
$tmp->GetInfoById($value);
$files_attache[] = $tmp;
示例13: sprintf
$cfile->max_size = $_config['max_file_size'];
$cfile->server_root = $_config['server_root'];
$cfile->max_image_size = $_config['max_image_size'];
$cfile->resize = $_config['resize'];
$cfile->proportional = $_config['proportional'];
$cfile->crop = $_config['crop'];
$cfile->topfill = $_config['topfill'];
$cfile->allowed_ext = $_config['allowed_ext'];
$dir = sprintf($_config['dir'], $user_obj->login);
$cfile->_getImageSize($cfile->tmp_name);
if ($cfile->image_size && in_array($cfile->image_size['type'], $_config['image_types'])) {
if ($_config['minImageHeight'] && $cfile->image_size['height'] < $_config['minImageHeight'] || $_config['minImageWidth'] && $cfile->image_size['width'] < $_config['minImageWidth']) {
$result['error'] = sprintf(STR_FTOSMAL, $_config['minImageWidth'], $_config['minImageHeight']);
//sprintf('Изображение слишком маленькое. Минимальные размеры %d на %d точек.',$_config['minImageWidth'],$_config['minImageHeight']);
} else {
$filename = $cfile->MoveUploadedFile($dir);
$error = $cfile->error;
$error = is_array($error) ? $error : array($error);
$cnt = count($error);
if (!$filename || $cnt > 0) {
$result['error'] = STR_FERR . ' ' . implode(' ', $error);
//'Ошибка загрузки файла. '
} else {
$fileinfo = $uploader->createFile($cfile);
if (count($_config['params'])) {
$err = $cfile->updateFileParams($_config['params']);
}
if (count($_config['thumbs'])) {
foreach ($_config['thumbs'] as $thumb) {
$thumb_cfile = $cfile->resizeImage($cfile->path . $thumb['prefix'] . $cfile->name, $thumb['width'], $thumb['height'], $thumb['option'], true);
if (!$thumb_cfile) {
示例14: saveUploadedFile
/**
* Сохраняет загруженный файл.
*
* @return bool
*/
public function saveUploadedFile($input = 'reestr3', $allowed_ext = array())
{
if (!isset($_FILES[$input])) {
return false;
}
$cf = new CFile($_FILES[$input], $this->TABLE);
if ($cf) {
$cf->allowed_ext = is_array($allowed_ext) ? $allowed_ext : array($allowed_ext);
$cf->server_root = true;
$cf->max_size = 104857600;
//100Mb
if ($filename = $cf->MoveUploadedFile($this->path)) {
return $filename;
}
}
return false;
}
示例15: CFile
if (is_array($_FILES['attachedfiles_file']) && !$_FILES['attachedfiles_file']['error']) {
$dir = wizard::FILE_DIR;
$cFile = new CFile($_FILES['attachedfiles_file']);
$cFile->table = 'file';
switch ($type) {
case 'wizard':
$max_files = wizard::MAX_FILE_COUNT;
$max_files_size = wizard::MAX_FILE_SIZE;
break;
default:
$file['error'] = 'Ошибка загрузки файла';
break;
}
$cFile->max_size = $max_files_size;
$cFile->server_root = 1;
$cFile->MoveUploadedFile($dir);
if ($cFile->id) {
$attachedfiles = new attachedfiles($sess);
$files_info = $attachedfiles->calcFiles();
$files_count = $files_info['count'];
$files_size = $files_info['size'];
if ($files_count + 1 > $max_files) {
$file['error'] = "Максимальное количество файлов: {$max_files}";
}
if ($files_size + $cFile->size > $max_files_size) {
$file['error'] = 'Максимальный объем файлов: ' . ConvertBtoMB($max_files_size);
}
if (in_array($cFile->getext(), $GLOBALS['disallowed_array'])) {
$file['error'] = 'Недопустимый формат файла';
}
if ($file['error']) {