X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Добавить в скрипт функцию ' одновременная загрузка нескольких изображений'
20vs20
20vs20
Topic Starter сообщение 18.3.2011, 14:29; Ответить: 20vs20
Сообщение #1


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

и так форма для загрузки у меня такая

<input name="FILE" type="file" id="image" class="input_field_short">


а сам файл обработчик следущий
[PHP]<?
session_start();

include 'inc/mysql.php';
include 'inc/func.php';
include 'inc/tmb.php';

if (!isset($_SESSION['id']))
{
header ("location: logout.php");
exit;
}



if($_FILES['FILE']['type'] == 'image/gif')
{
$xyz=".gif";
}
elseif($_FILES['FILE']['type'] == 'image/pjpeg')
{
$xyz=".jpg";
}
elseif($_FILES['FILE']['type'] == 'image/jpeg')
{
$xyz=".jpeg";
}
elseif($_FILES['FILE']['type'] == 'image/x-png')
{
$xyz=".png";
}
else
{
$text = "Формат файла не верен.";
$err = 1;
}

if($_FILES['FILE']['size'] = 0 OR filesize($_FILES['FILE']['tmp_name']) > 307200)
{
$text .= "Размер файла не верен.";
$err = 1;
}

if(!is_uploaded_file($_FILES['FILE']['tmp_name']))
{
$text .= "Ошибка при загрузке файла на сервер.";
$err = 1;
}

if(!$_FILES['FILE']['name'])
{
$text .= "Не корректное название файла.";
$err = 1;
}

if ($err<>1)
{
$stat = mysql_fetch_assoc(mysql_query("SELECT id FROM pic ORDER BY id DESC LIMIT 0,1"));
$new_id = $stat['id']+1;
$path = $new_id;
$count = 7 - strlen($path);

for ($i = 1; $i <= $count; $i++)
{
$path = "0".$path;
}

$path = rez(substr($path,0,5));
$path = "allimage".$path."/";

mkpath($path);
move_uploaded_file($_FILES['FILE']['tmp_name'], $path."/".$new_id."".$xyz."");
$name = def($_POST['image_name']);
$thumb = $path.$new_id."-thumb".$xyz;
$path = $path.$new_id.$xyz;

$options = array(
'width' => 160,
'height' => 160,
);

thumbnails($path,$thumb);
mysql_query("INSERT INTO pic(name, owner, date, path, thumb_path) VALUES ('$name', '".$_SESSION['id']."','".time()."', '$path', '$thumb')");



header("Location: http://".$_SERVER["SERVER_NAME"]."/cabinet/gallery/code".mysql_insert_id()."/");
exit;


}
else
{
include('tpl/top.php');
include('tpl/error.php');
include('tpl/news.php');
include('tpl/footer.php');
}

?>[/PHP]

ВАЖНО в этот файл ещё инклюдится файлик tmb.php вот его содержимое... пока я в нём не понял что нужно добавить

[PHP]<?php

function thumbnails($f, $p, $t = 2, $s = 1, $q = 90, $w = 160) {

// f - имя файла
// w - требуемая ширина картинки
// q - качество сжатия jpeg
// s - выводить ли надпись
// t - формат: 0 - без изменения, 1 - пропорциональный, 2 - квадратный кусок

if (empty($p)) die("No thumbnail name in \$p");

list($width, $height, $type, $attr) = @getimagesize($f);
if (!$type) $type = 3;

//--------------------------------------------
//
// МАСШТАБИРОВАНИЕ
// создаём исходное изображение на основе
// исходного файла и опеределяем его размеры
//
//--------------------------------------------

if (!file_exists($f))
{
$src = @imagecreatefrompng("resize_error.png") or die ("Cannot Initialize new GD image stream");
$s = 0;
}
else
{
switch ($type)
{
case 1: //header("Content-type: image/gif");
$src = imagecreatefromgif($f) or die ("Cannot Initialize new GD image stream");
break;
case 2: //header("Content-type: image/jpeg");
$src = imagecreatefromjpeg($f) or die ("Cannot Initialize new GD image stream");
break;
case 3: //header("Content-type: image/png");
$src = imagecreatefrompng($f) or die ("Cannot Initialize new GD image stream");
break;
}
}

$w_src = imagesx($src);
$h_src = imagesy($src);

if ($t == 1) // операции для получения прямоугольного файла
{
$ratio = $w_src/$w;
$w_dest = round($w_src/$ratio);
$h_dest = round($h_src/$ratio);
// создаём пустую картинку
// важно именно truecolor!, иначе будум иметь 8-битный результат
$dest = @imagecreatetruecolor($w_dest,$h_dest) or die("Cannot Initialize new GD image stream");
$white = imagecolorallocate($dest, 255, 255, 255);
imagefill($dest,1,1,$white);
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
}
if ($t == 2) // операции для получения квадратного файла
{
// создаём пустую квадратную картинку
// важно именно truecolor!, иначе будум иметь 8-битный результат
$dest = @imagecreatetruecolor($w,$w) or die("Cannot Initialize new GD image stream");
// вырезаем квадратную серединку по x, если фото горизонтальное
if ($w_src > $h_src)
imagecopyresampled($dest, $src, 0, 0, round((max($w_src,$h_src)-min($w_src,$h_src))/2), 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
// вырезаем квадратную верхушку по y,
// если фото вертикальное (хотя можно тоже середику)
if ($w_src < $h_src)
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
// квадратная картинка масштабируется без вырезок
if ($w_src == $h_src)
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $w, $w_src, $w_src);

}
if ($s == 1) // нужна ли надпись
{
$str = "58region.ru";
// определяем координаты вывода текста
$x_text = $w_dest-70;
$y_text = $h_dest-15;
// определяем каким цветом на каком фоне выводить текст
$white = imagecolorallocate($dest, 255, 255, 255);
$black = imagecolorallocate($dest, 0, 0, 0);
// выводим текст
imagestring($dest, 2, $x_text-1, $y_text-1, $str,$black);
imagestring($dest, 2, $x_text+1, $y_text+1, $str,$black);
imagestring($dest, 2, $x_text+1, $y_text-1, $str,$black);
imagestring($dest, 2, $x_text-1, $y_text+1, $str,$black);
imagestring($dest, 2, $x_text-1, $y_text, $str,$black);
imagestring($dest, 2, $x_text+1, $y_text, $str,$black);
imagestring($dest, 2, $x_text, $y_text-1, $str,$black);
imagestring($dest, 2, $x_text, $y_text+1, $str,$black);
imagestring($dest, 2, $x_text, $y_text, $str,$white);
}

if (!file_exists($f))
{
header("Content-type: image/x-png");
$black = imagecolorallocate($dest, 0, 0, 0);
imagerectangle($dest,0,0,$w-1,$w-1,$black);
imagepng($dest);
exit;
}
@imagegammacorrect($dest, 1, 1.1);
@imageinterlace($dest, 1);
switch ($type)
{
case 1: imagegif($dest, $p); break;
case 2: imagejpeg($dest, $p, $q); break;
case 3: imagepng($dest, $p); break;
}
imagedestroy($dest);
imagedestroy($src);

return true;

}
?> [/PHP]

Буду благодарен любой помощи.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
20vs20
20vs20
Topic Starter сообщение 20.3.2011, 2:09; Ответить: 20vs20
Сообщение #2


что никто не уверен в своих силах? а за вознаграждение появятся желающие? :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 20.3.2011, 13:58; Ответить: Mulder_hb
Сообщение #3


За вознаграждение, думаю, слетится толпа. Но оформлять тему нужно в соответствующем разделе!.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
20vs20
20vs20
Topic Starter сообщение 20.3.2011, 15:37; Ответить: 20vs20
Сообщение #4


Тему можно удалить.. создал новую в разделе помощь

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Продам скрипт rtb exchange suite - система перепродажи трафика dsp/ssp в реальном времени.
5 buypushplatform 4303 23.4.2024, 21:02
автор: 100ftd
Открытая тема (нет новых ответов) Если в сайт с одними ключами, которые там долго, добавить новую рубрику с новыми ключами
2 Tutich 1333 16.4.2024, 8:27
автор: Tutich
Открытая тема (нет новых ответов) Скрипт поисковика видео StrongTube
3 3josoft 1576 14.8.2023, 14:45
автор: 3josoft
Открытая тема (нет новых ответов) BuxarVideoUploader - Автоматическое скачивание и загрузка видео из любых/ на любые видео хостинги (YouTube, TikTok, Instagram, Facebook, Яндекс Дзен, Вконтакте, Одноклассники, Rutube, Dailymotion, d.tube, Telegram и т.д.
0 BuxarNET 1228 19.7.2023, 5:58
автор: BuxarNET
Открытая тема (нет новых ответов) Продается сайт фотосток ИИ изображений
Хороший вариант!
20 alexey 3280 25.6.2023, 15:28
автор: alexey


 



RSS Текстовая версия Сейчас: 25.4.2024, 16:51
Дизайн