Но, если, например, загрузить несколько файлов, из которых только один превышает разрешенный размер, то не грузятся ВСЕ ФАЙЛЫ.
Вот код обработчика
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- $db_host = 'localhost';
- $db_user = 'loader';
- $db_pass = '12345';
- $db_name = 'loader';
- $connect = mysql_connect($db_host, $db_user, $db_pass) or trigger_error(mysql_error(),E_USER_ERROR);
- $max_image_size = 64 * 1024;
- for ($i = 0; $i < $files_count; $i++) {
- switch ($img_params[2])
- {
- case '1':
- $rash = 'gif';
- break;
- case '3':
- $rash = 'png';
- break;
- case '2':
- $rash = 'jpg';
- break;
- }
- $loc = 'uploads/';
- $upl_path = 'uploads/prod/';
- $thumb_path = 'uploads/prod/thumb/';
- $source = $_FILES['fileToUpload']['tmp_name'][$i];
- $type = $_FILES['fileToUpload']['type'][$i];
- $target = $upl_path. $_FILES['fileToUpload']['name'][$i];
- echo 'Ошибка загрузки файла '.$_FILES['fileToUpload']['name'][$i].' его размер больше, чем 64K.<br />';
- }
- ///resize big
- $res_src = $upl_path.$rb_name_new[$i];
- //получаем параметры загруженного файла
- switch($rb_params[2]){
- }
- //если ширина меньше 640 и высота меньше 480
- //оставляем оригинальные размеры
- if(($rb_params[0]<=640) && ($rb_params[1]<=480)){
- $rb_newwidth = $rb_params[0];
- $rb_newheight = $rb_params[1];
- }
- //иначе - начинаем урезать пропорционально
- else {
- //если высота равна ширине
- //вычисляем новую ширину
- if($rb_params[1]==$rb_params[0]){
- $rb_newheight=640;
- }
- //если ширина равна высоте
- //вычисляем новую высоту
- if($rb_params[1]==$rb_params[0]){
- $rb_newwidth=640;
- }
- //если высота больше ширины
- //вычисляем новую ширину
- if($rb_params[1]>$rb_params[0]){
- $rb_newheight=480;
- }
- //если ширина больше высоты
- //вычисляем новую высоту
- if($rb_params[1]<$rb_params[0]){
- $rb_newwidth=640;
- }
- }
- //создаем урезку загруженного изображения
- imagecopyresampled($rb_resource,$rb_source,0,0,0,0,$rb_newwidth,$rb_newheight,$rb_params[0],$rb_params[1]);
- switch($rb_params[2]){
- }
- ///end resize big
- $new_name = 't'. $rb_name_new[$i];
- $resource_src = $thumb_path.$new_name;
- //получаем параметры загруженного файла
- switch($params[2]){
- }
- //если высота равна ширине
- //вычисляем новую ширину
- if($params[1]==$params[0]){
- $newheight=70;
- }
- //если ширина равна высоте
- //вычисляем новую высоту
- if($params[1]==$params[0]){
- $newwidth=70;
- }
- //если высота больше ширины
- //вычисляем новую ширину
- if($params[1]>$params[0]){
- $newheight=70;
- }
- //если ширина больше высоты
- //вычисляем новую высоту
- if($params[1]<$params[0]){
- $newwidth=70;
- }
- //создаем миниатюру загруженного изображения
- $newwidth,$newheight,$params[0],$params[1]);
- //удаляем оригинал картинки
- }
- }
- $r = mysql_query ("INSERT INTO users SET file0='".$rb_name_new[0]."', file1='".$rb_name_new[1]."', file2='".$rb_name_new[2]."', file3='".$rb_name_new[3]."', file4='".$rb_name_new[4]."'");
- }
- ?>