InsertInformationItems
Доброго дня!
Пытаюсь добавить фото к инфоэлементу через InsertInformationItems, но безрезультатно. Пример брал из доски объявлений.
UPD
$InformationSystem = & singleton('InformationSystem');
$param = array();
$param['information_systems_id'] = 40;
$param['information_groups_id'] = 0;
$InformationSystem_id = 40;
$group_id = 0;
$date= date('Y-m-d H:i:s');
$param['information_items_date'] = $date;
$subj = $date;
$param['information_items_name'] = $date;
$param['information_items_description'] = $message;
$text = "";
$param['information_items_text'] = $text;
$param['information_items_status'] = 0;
$param['information_items_access'] = -1;
$kernel = & singleton('kernel');
$param_load_files = array();
// Массив разрешенных расширений при загрузке файла
$allow_ext = array("gif","jpg", "png", "jpeg");
if (isset ($_FILES['advertisement_file']['name']))
{
$ext = $kernel->GetExtension($_FILES['advertisement_file']['name']);
// Если расширение файла разрешено
if (in_array(mb_strtoupper($ext), $allow_ext))
{
$param_load_files['path_target_big_image'] = to_str($_FILES['advertisement_file']['name']);
$param_load_files['original_file_name_big_image'] = to_str($_FILES['advertisement_file']['name']);
$param_load_files['original_file_name_small_image'] = $param_load_files['original_file_name_big_image'];
}
}
$sufix = date('U');
$param_load_files['path_target_big_image'] = CMS_FOLDER . UPLOADDIR . 'information_items_' . $sufix . '.jpg';
$param_load_files['path_target_small_image'] = CMS_FOLDER . UPLOADDIR . 'small_information_items_' . $sufix . '.jpg';
$param_load_files['original_file_name_small_image'] = '';
$param_load_files['use_big_image'] = true;
$param_load_files['max_width_big_image'] = to_int($GLOBALS['LA']['max_width_big_image']);
$param_load_files['max_height_big_image'] = to_int($GLOBALS['LA']['max_height_big_image']);
$param_load_files['max_width_small_image'] = to_int($GLOBALS['LA']['max_width_small_image']);
$param_load_files['max_height_small_image'] = to_int($GLOBALS['LA']['max_height_small_image']);
$result = $kernel->AdminLoadFiles($param_load_files);
if ($result['big_image'])
{
$param['information_items_image'] = basename($param['path_target_big_image']);
}
else
{
$param['information_items_image'] = '';
}
if ($result['small_image'])
{
$param['information_items_small_image'] = basename($param['path_target_small_image']);
}
else
{
$param['information_items_small_image'] = '';
}
if ($question_id = $InformationSystem->InsertInformationItem($param))
{
echo 'Элемент добавлен!';
}
else
{
echo 'Ошибка!';
}
Пытаюсь добавить фото к инфоэлементу через InsertInformationItems, но безрезультатно. Пример брал из доски объявлений.
UPD
$InformationSystem = & singleton('InformationSystem');
$param = array();
$param['information_systems_id'] = 40;
$param['information_groups_id'] = 0;
$InformationSystem_id = 40;
$group_id = 0;
$date= date('Y-m-d H:i:s');
$param['information_items_date'] = $date;
$subj = $date;
$param['information_items_name'] = $date;
$param['information_items_description'] = $message;
$text = "";
$param['information_items_text'] = $text;
$param['information_items_status'] = 0;
$param['information_items_access'] = -1;
$kernel = & singleton('kernel');
$param_load_files = array();
// Массив разрешенных расширений при загрузке файла
$allow_ext = array("gif","jpg", "png", "jpeg");
if (isset ($_FILES['advertisement_file']['name']))
{
$ext = $kernel->GetExtension($_FILES['advertisement_file']['name']);
// Если расширение файла разрешено
if (in_array(mb_strtoupper($ext), $allow_ext))
{
$param_load_files['path_target_big_image'] = to_str($_FILES['advertisement_file']['name']);
$param_load_files['original_file_name_big_image'] = to_str($_FILES['advertisement_file']['name']);
$param_load_files['original_file_name_small_image'] = $param_load_files['original_file_name_big_image'];
}
}
$sufix = date('U');
$param_load_files['path_target_big_image'] = CMS_FOLDER . UPLOADDIR . 'information_items_' . $sufix . '.jpg';
$param_load_files['path_target_small_image'] = CMS_FOLDER . UPLOADDIR . 'small_information_items_' . $sufix . '.jpg';
$param_load_files['original_file_name_small_image'] = '';
$param_load_files['use_big_image'] = true;
$param_load_files['max_width_big_image'] = to_int($GLOBALS['LA']['max_width_big_image']);
$param_load_files['max_height_big_image'] = to_int($GLOBALS['LA']['max_height_big_image']);
$param_load_files['max_width_small_image'] = to_int($GLOBALS['LA']['max_width_small_image']);
$param_load_files['max_height_small_image'] = to_int($GLOBALS['LA']['max_height_small_image']);
$result = $kernel->AdminLoadFiles($param_load_files);
if ($result['big_image'])
{
$param['information_items_image'] = basename($param['path_target_big_image']);
}
else
{
$param['information_items_image'] = '';
}
if ($result['small_image'])
{
$param['information_items_small_image'] = basename($param['path_target_small_image']);
}
else
{
$param['information_items_small_image'] = '';
}
if ($question_id = $InformationSystem->InsertInformationItem($param))
{
echo 'Элемент добавлен!';
}
else
{
echo 'Ошибка!';
}
UPD
Сейчас получается загружать файл на сервер, но только в корень /upload/. А в админке, при просмотре фото пишет другой путь.
Как прописать путь, куда загружать файл?
$information_system_info = $InformationSystem->GetInformationSystem($InformationSystem_id);
if (isset($_FILES['advertisement_file']['name']))
{
// Путь к папке информационного элемента
$dir = CMS_FOLDER . UPLOADDIR . 'information_system_' . $InformationSystem_id . '/';
$item_dir_path = $InformationSystem->GetInformationItemDir($insert_item_id);
// Создаем папку информационного элемента
if ($kernel->PathMkdir($dir))
{
$kernel = & singleton('kernel');
$uploaddir = $dir;
$param_load_files = array();
$information_item_image = '';
$information_item_small_image = '';
// Массив разрешенных расширений при загрузке файла
$allow_ext = array("gif","jpg", "png", "jpeg");
$File = new File();
$file_name = $File->PathCorrection($_FILES['advertisement_file']['name']);
$ext = $kernel->GetExtension($_FILES['advertisement_file']['name']);
if (!empty($ext))
{
$ext = '.' . $ext;
}
$information_item_image = $uploaddir . 'information_items_' . date("U") . $ext;
$information_item_small_image = $uploaddir . 'small_information_items_' . date("U") . $ext;
// Путь к файлу-источнику большого изображения;
$param_load_files['path_source_big_image'] = to_str($_FILES['advertisement_file']['tmp_name']);
// Путь к файлу-источнику малого изображения;
//$param['path_source_small_image'] = to_str($_FILES['information_item_image_small']['tmp_name']);
//Оригинальное имя файла большого изображения
$param_load_files['original_file_name_big_image'] = to_str($_FILES['advertisement_file']['name']);
// Путь к создаваемому файлу большого изображения;
$param_load_files['path_target_big_image'] = $information_item_image;
// Путь к создаваемому файлу малого изображения;
$param_load_files['path_target_small_image'] = $information_item_small_image;
// Оригинальное имя файла малого изображения
$param_load_files['original_file_name_small_image'] = $param_load_files['original_file_name_big_image'];
// $param_load_files['path_target_big_image'] = CMS_FOLDER . UPLOADDIR . 'information_items_' . $sufix . '.jpg';
// $param_load_files['path_target_small_image'] = CMS_FOLDER . UPLOADDIR . 'small_information_items_' . $sufix . '.jpg';
// $param_load_files['original_file_name_small_image'] = '';
// $param_load_files['use_big_image'] = true;
$param_load_files['max_width_big_image'] = 1000;
$param_load_files['max_height_big_image'] = 1000;
$param_load_files['max_width_small_image'] = 200;
$param_load_files['max_height_small_image'] = 200;
$result = $kernel->AdminLoadFiles($param_load_files);
if ($result['big_image'])
{
$param['information_items_image'] = $param_load_files['path_target_big_image'];
}
else
{
$param['information_items_image'] = '';
}
if ($result['small_image'])
{
$param['information_items_small_image'] = $param_load_files['path_target_small_image'];
}
else
{
$param['information_items_small_image'] = '';
}
}
$urlImage = $param['information_items_image'];
$property_resources = $InformationSystem->InsertInformationItem($param);
Сейчас получается загружать файл на сервер, но только в корень /upload/. А в админке, при просмотре фото пишет другой путь.
Как прописать путь, куда загружать файл?
$information_system_info = $InformationSystem->GetInformationSystem($InformationSystem_id);
if (isset($_FILES['advertisement_file']['name']))
{
// Путь к папке информационного элемента
$dir = CMS_FOLDER . UPLOADDIR . 'information_system_' . $InformationSystem_id . '/';
$item_dir_path = $InformationSystem->GetInformationItemDir($insert_item_id);
// Создаем папку информационного элемента
if ($kernel->PathMkdir($dir))
{
$kernel = & singleton('kernel');
$uploaddir = $dir;
$param_load_files = array();
$information_item_image = '';
$information_item_small_image = '';
// Массив разрешенных расширений при загрузке файла
$allow_ext = array("gif","jpg", "png", "jpeg");
$File = new File();
$file_name = $File->PathCorrection($_FILES['advertisement_file']['name']);
$ext = $kernel->GetExtension($_FILES['advertisement_file']['name']);
if (!empty($ext))
{
$ext = '.' . $ext;
}
$information_item_image = $uploaddir . 'information_items_' . date("U") . $ext;
$information_item_small_image = $uploaddir . 'small_information_items_' . date("U") . $ext;
// Путь к файлу-источнику большого изображения;
$param_load_files['path_source_big_image'] = to_str($_FILES['advertisement_file']['tmp_name']);
// Путь к файлу-источнику малого изображения;
//$param['path_source_small_image'] = to_str($_FILES['information_item_image_small']['tmp_name']);
//Оригинальное имя файла большого изображения
$param_load_files['original_file_name_big_image'] = to_str($_FILES['advertisement_file']['name']);
// Путь к создаваемому файлу большого изображения;
$param_load_files['path_target_big_image'] = $information_item_image;
// Путь к создаваемому файлу малого изображения;
$param_load_files['path_target_small_image'] = $information_item_small_image;
// Оригинальное имя файла малого изображения
$param_load_files['original_file_name_small_image'] = $param_load_files['original_file_name_big_image'];
// $param_load_files['path_target_big_image'] = CMS_FOLDER . UPLOADDIR . 'information_items_' . $sufix . '.jpg';
// $param_load_files['path_target_small_image'] = CMS_FOLDER . UPLOADDIR . 'small_information_items_' . $sufix . '.jpg';
// $param_load_files['original_file_name_small_image'] = '';
// $param_load_files['use_big_image'] = true;
$param_load_files['max_width_big_image'] = 1000;
$param_load_files['max_height_big_image'] = 1000;
$param_load_files['max_width_small_image'] = 200;
$param_load_files['max_height_small_image'] = 200;
$result = $kernel->AdminLoadFiles($param_load_files);
if ($result['big_image'])
{
$param['information_items_image'] = $param_load_files['path_target_big_image'];
}
else
{
$param['information_items_image'] = '';
}
if ($result['small_image'])
{
$param['information_items_small_image'] = $param_load_files['path_target_small_image'];
}
else
{
$param['information_items_small_image'] = '';
}
}
$urlImage = $param['information_items_image'];
$property_resources = $InformationSystem->InsertInformationItem($param);
Авторизация