Скрипт добавления изображений.

[Удален]
1686

День добрый!

В общем, ситуация такая. На сайте есть форма добавления изображений. Ничего особенного - поле типа file для выбора изобр-я, инпут для описания и инпут для метки.

После нажатия на кнопку данные летят в обработчик, но! странная штука наблюдается в Opere 10 - изображения размером более ~ 150 кб не загружаются! меньше - легко.. причём в ие, фф и опере 9,6 вся операция проходит отлично и с фотками в 2-3 метра весом.

Вот код загрузчика:

// Проверка размера файла

if ( $_FILES['pict']["size"] > 33550000 ) die ('Размер картинки больше 4 Мб!');

if(copy($_FILES[pict]["tmp_name"],$_SERVER[DOCUMENT_ROOT]."/album/".$userid."_".$_FILES[pict]["name"]))
{
$picture = "album/".$userid."_".$_FILES[pict]["name"];
}
else $picture="";

$sql = "Insert into album (userid,albumid,pict,label,descr) values ($userid, $albump, \"$picture\", \"$label\",\"$descr\" )";
$result = mysql_query($sql) or die ("Не добавлено");

Дальше идёт скрипт обрезки и наложения ватермарки, но без них история та же..

Мож кто-нть сталкивался с этим?

Версия оперы если что 10.00 сборка 1750

[Удален]
#1

не загружаются в каком виде?

в $_FILES['pict'] что нить есть?

W
На сайте с 03.07.2007
Offline
36
#2

и это работает ?) я как минимум 3 косяка увидел)

Лучшая веб студия Максимаф.ру (http://maksimaf.ru) ICQ : 464-338-997 MAil: wispoz@inbox.ru Телефон: 8(915) 368-45-93
K
На сайте с 29.04.2008
Offline
74
#3

перепишите вот так для интереса...


function encodestring($st)
{
// Сначала заменяем "односимвольные" фонемы.
$st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_",
"abvgdeeziyklmnoprstufh'iei");
$st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_",
"ABVGDEEZIYKLMNOPRSTUFH'IEI");
// Затем - "многосимвольные".
$st=strtr($st,array(
"ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
"щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
"Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
"Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
"ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye"," "=>"5"
)
);
// Возвращаем результат.
return $st;
}
//-----------------------Загрузка картинки
if (eregi("gif|jpg|jpeg|png",substr($_FILES['pict']['name'], -3, 3)))
{
if ($_FILES['pict']['size'] < 33550000){
$f_name = strtolower(trim($_FILES['pict']['name']));
$f_name = preg_replace("/([ &%§]+)/","",$f_name);
$f_tmp = $_FILES['pict']['tmp_name'];
$objdir = "/album/".$userid."_".encodestring($f_name);
copy($f_tmp,$objdir);
$picture=$objdir;
}
else
{
die ('Размер картинки больше 4 Мб!');
}
}
else
{
die ('Формат загружаемого файла не соответствует ограничеиям!');
}
//-----------------------Загрузка превью и картинки

$sql = "Insert into album (userid,albumid,pict,label,descr) values ($userid, $albump, \"$picture\", \"$label\",\"$descr\" )";
$result = mysql_query($sql) or die ("Не добавлено");
Open Source Danneo CMS (http://nafn.ru)
[Удален]
#4
Wispoz:
и это работает ?) я как минимум 3 косяка увидел)

ага, работает на удивление)

kmvtut, пасиба - воспользуюсь обязательно в близжайшее время

MrBernz добавил 25.09.2009 в 09:55

neolord:
не загружаются в каком виде?
в $_FILES['pict'] что нить есть?

я уточняю - не загружается только через оп10, в других браузерах загрузка и запись в базу проходит без косяков. так что в $_FILES['pict'] данные передаются..

..одну картинку, одного размера и объёма загружали с разных компов и разных браузеров - такая вот чупакабра творится - везде грузится, а тут нет..

попробую код поменять - мож получитса..

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий