(29 июл 2015, 18:41) (
0/
0)
[
0]
Привет подскажите пацантре, что не так?
код работает нормально то есть записывает данные в бд загружает скриншоты, а вот загрузка файлов не работает, то есть игнорит выгрузку файлов подскажите как исправить?
<?php
function addProduct(){
$cat_id = get('cat_id'); // ID каталога
$post = post('add'); // проверяем нажата ли кнопка
if($post){
$title = post('title'); // Фильтрируем заголовок
$about = post('about'); // фильтрируем описание
$example = post('example'); // фильтрируем пример
$price = post('price'); // фильтрируем цену
$copys = post('copys', 1); // фильтрируем к-во копий
$blic = post('blic'); // фильтрируем Блиц-цену
if(!$title || !$about || !$price || !$copys){
errorjs('Заголовок, Описание, Цена и к-во копий обязательные поля!'); // Если не все поля заполнены
} else {
/*
Время в секундах
1 минута = 60 сек
1 час = 3600 сек
1 день = 86400 сек
1 неделя = 604800 сек
1 месяц = 2592000 сек
1 квартал (91 день) = 7862400
1 год = 31536000
*/
$actionTime = ($blic ? time()+2592000 : 0);// Если аукцион, тогда генерируем время действия аукциона
// Запись данных о выставляемом товаре в БД
$insert = 'insert into `product` set
`user_id` = "'.$this->us->id.'",
`cat_id` = "'.$cat_id.'",
`time_add` = "'.time().'",
`time_act` = "'.$actionTime.'",
`title` = "'.$title.'",
`about` = "'.$about.'",
`price` = "'.$price.'",
`copys` = "'.$copys.'",
`example` = "'.$example.'",
`moder` = "0",
`blic` = "'.$blic.'"
';
if($this->sql->query($insert)){
$productID = $this->sql->lastInsertId();
// Выгрузка скриншотов если есть
foreach($_FILES['screens']['error'] as $key => $value){ // Разбиваем массив
if($value == UPLOAD_ERR_OK){
$info = getimagesize($_FILES['screens']['tmp_name'][$key]); // Получаем информацию из изображения
if($info['mime'] != 'image/gif' && $info['mime'] != 'image/jpeg' && $info['mime'] != 'image/png'){ // проверяем изображение ли это
errorjs('Неверный формат скриншотов'); // Если нет, выводим ошибку
} else {
$defaultName = $_FILES['screens']['name'][$key]; // Имя одного изображения
$dotEnd = explode('.', $defaultName); // Разбиваем строку
$dotEnd = end($dotEnd); // Извлекаем формат изображений
$fileName = $_SERVER['HTTP_HOST'].'_'.md5($defaultName.'_'.time()).'.'.$dotEnd; // Генерируем новое имя изображения
$fullPath = ROOT.'content/screens/'.$fileName; // Генерируем полный путь для сохранения изображения
// Сохраняем изображение на сервере и записываем в базу данных
if(move_uploaded_file($_FILES['screens']['tmp_name'][$key], $fullPath)){
// SQL запрос
$insertQuery = 'insert into `files_product` set
`product_id` = "'.$productID.'",
`file_name` = "'.$fileName.'",
`type` = "screen"';
$this->sql->query($insertQuery);
}
}
}
}
// Выгрузка файлов (Тут немного проще)
foreach($_FILES['files']['error'] as $key => $value){ // Разбиваем массив
if($value == UPLOAD_ERR_OK){
$defaultName = $_FILES['files']['name'][$key]; // Имя одного файла
$dotEnd = explode('.', $defaultName); // Разбиваем строку
$dotEnd = end($dotEnd); // Извлекаем формат файлов
$fileName = $_SERVER['HTTP_HOST'].'_'.md5($defaultName.'_'.time()).'.'.$dotEnd; // Генерируем новое имя файла
$fullPath = ROOT.'content/files/'.$fileName; // Генерируем полный путь для сохранения файла
// Сохраняем файл на сервере и записываем в базу данных
if(move_uploaded_file($_FILES['files']['tmp_name'][$key], $fullPath)){
// SQL запрос
$insertQuery = 'insert into `files_product` set
`id_product` = "'.$productID.'",
`file_name` = "'.$fileName.'",
`type` = "files"';
$this->sql->query($insertQuery);
}
}
}
}
}
}
}
?>