<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Загрузка нескольких изображений на серв
08.01.2014 23:22:43 Загрузка нескольких изображений на серв Сообщение #1
ONYX

ONYX

Новичок

Новичок

Дата регистрации:
25.11.2013 21:55:43

Сообщений: 5

у меня вопрос по загрузке нескольких изображений однавременно.
сделал такую функцию:
function new_full_img(){
if(isset($_FILES['file']) && $_FILES['file']['name']){
$full_upload_ok = '';
foreach($_FILES['file']['name'] as $k => $v){
$imgname = date('dmYHis').rand(100, 10000);
$year = date('Y');
$imgaddr = $_SERVER['DOCUMENT_ROOT']."/images/news/$year/";
//проверяем размер
if($_FILES['file']['size'][$k] < 1000*1024)
{
//проверяем на содержимое
if($_FILES['file']['type'][$k] == "image/gif" || $_FILES['file']['type'][$k] == "image/jpg" || $_FILES['file']['type'][$k] == "image/jpeg" || $_FILES['file']['type'][$k] == "image/png"
{
//проверяем загружен ли файл на сервер
if(is_Uploaded_file($_FILES['file']['tmp_name'][$k]))
{
//проверяем размеры
$size = GetImageSize($_FILES['file']['tmp_name'][$k]);
if($size[0] > 1024 AND $size[1] > 768)
{
echo "<center><h2>ОШИБКА!FULL Максимальный размер картинки 1024*768px.</h2><br /><input type='submit' value='назад' onClick='history.go(-1)' /></center>";
exit();
}else{
$type_file = str_replace('image/', '', $_FILES['file']['type'][$k]);
if(move_Uploaded_file($_FILES['file']['tmp_name'][$k], $imgaddr.$imgname[$k].'.'.$type_file))
{
global $full_upload_ok;
$full_upload_ok .= imgname[$k].".".$type_file."\r\n";
$full_upload_ok = trim($full_upload_ok);
return $full_upload_ok;
}else{
echo "<center><h2>ОШИБКА!FULL Файл не загружен.</h2><br /><input type='submit' value='назад' onClick='history.go(-1)' /></center>";
exit();
}
}
}else{
echo "<center><h2>ОШИБКА!FULL Файл не загружен на сервер.</h2><br /><br /><input type='button' value='ВЕРНУТЬСЯ НАЗАД' onClick='history.go(-1)' /></center>";
exit(); }
}else{
echo "<center><h2>ОШИБКА!FULL Неверный формат изображения! Либо превышен размер изображения в пикселях.</h2><br /><br /><input type='button' value='ВЕРНУТЬСЯ НАЗАД' onClick='history.go(-1)' /></center>";
exit(); }
}else{
echo "<center><h2>ОШБИКА!FULL Максимальный размер всех файла не должен превышать 1мб.</h2><br /><br /><input type='button' value='ВЕРНУТЬСЯ НАЗАД' onClick='history.go(-1)' /></center>";
exit(); }

}
}
}


мне подсказали что я иду циклом по одному файлу, а как сразу по нескольким я пока не могу понять.
Гдето нашол что нужно так:
foreach($_FILES as $k=>$f)
но тоже что то не получилось пока

подскажите пожалсто где я ошибся или как правильно нужно.
Профиль Ответить
16.01.2014 11:08:18 Загрузка нескольких изображений на серв Сообщение #2
tikkiwiki

tikkiwiki

Модератор

Модератор

Дата регистрации:
15.11.2013 15:36:59

Сообщений: 194

Так попробуйте:



function new_full_img(){

$pic_weight = 3000;
$pic_height = 3000;

if (isset($_FILES))
{
//пролистываем весь массив изображений по одному $_FILES['file']['name'] as $k=>$v
foreach ($_FILES['file']['name'] as $k=>$v)
{
//директория загрузки
$year = date('Y');
$uploaddir = $_SERVER['DOCUMENT_ROOT']."/images/news/$year/";
//новое имя изображения
$apend=date('YmdHis').rand(100,1000).'.png';
//путь к новому изображению
$uploadfile = "$uploaddir$apend";


if($_FILES['file']['type'][$k] == "image/gif" || $_FILES['file']['type'][$k] == "image/png" ||
$_FILES['file']['type'][$k] == "image/jpg" || $_FILES['file']['type'][$k] == "image/jpeg"
{

$blacklist = array(".php", ".phtml", ".php3", ".php4";
foreach ($blacklist as $item)
{
if(preg_match("/$item\$/i", $_FILES['file']['name'][$k]))
{
echo "Нельзя загружать скрипты.";
exit;
}
}


if (move_uploaded_file($_FILES['file']['tmp_name'][$k], $uploadfile))
{

$size = getimagesize($uploadfile);

if ($size[0] < $pic_weight && $size[1] < $pic_height)
{
global $full_upload_ok;
$full_upload_ok .= $apend."\r\n";


}
unlink($uploadfile);
else
{
echo "<center><br>Размер пикселей превышает допустимые нормы.</center>";
unlink($uploadfile);
}
}
else
echo "<center><br>Файл не загружен, вернитесь и попробуйте еще раз.</center>";
}
else
echo "<center><br>Можно загружать только изображения в форматах jpg, jpeg, gif и png.</center>";
}
}
Профиль Ответить