Аngl Посмотри пример: http://www.adylevy.com/demo/imgUpload/ Выбери файл, ресайзит налету. Сам скрипт: http://www.adylevy.com/index.php/2009/0 ... rencedata/ Теперь насчет реализации на стороне сервера: Можно не создавать файл, мы получаем загруженный файл на сервер и используем exif_read_data для получения информации об изображении. Рассчитываем, поместится ли оно в памяти, и делаем вывод: либо уменьшаем, либо пользователю говорим, что у него полный фол. Помогу, только потому что знаю, что значит хуярить шваброй в баре за гроши, - знаю
Apple, пасиб! Уже поковыряла скрипты маненько, попробовала на сервере - работает. Правда, пишет "Upload Failed", когда на самом деле аплоадит без проблем, ну это сообщение можно заменить, я думаю - главное, что результат есть. Осталось поменять размеры на выходе (демо-скрипт ужимает до 400 пикселей по вертикали, мне надо больше), а для этого, я так поняла, надо править as-файл и компилировать потом fla в swf (если я ошибаюсь, то ткните носом, с флэшем дела практически не имела). Обнаружила, кстати, что у меня нету Флэша (раньше был, но комп новый), качаю сейчас. Хоть бы получилось в итоге!! Спасибо ещё раз за помощь.
Аngl Если интересен более сложный (он же более красивый и НОВЫЙ вариант) этого скрипта: http://www.adylevy.com/index.php/2009/0 ... ient-side/ Насчет изменения размера могу сказать, что покопавшись нашел константы, отвечающие за размер. Т.е да, прийдется пересобирать проект, и пересобирать в версии CS4. Возможно я сам это сделаю.
Я только что поставила CS5 - если версия новее, это же не проблема? Я думаю, что тоже нашла размерные константы: _MAX_WIDTH и _MAX_HEIGHT - они? Хуже другое: после локального ресайза скрипт выводит на странице не превьюшку, а сам файл. То есть, если выставить нужный размер 800, то он его и поставит - это только на время загрузки, конечно, но всё равно ломает на это время весь интерфейс. А перекроить, чтобы показывал превьюшку - или даже вообще ничего, только кнопку аплоад - это мне не потянуть, я ActionScript не знаю. Буду копаться, конечно, но не знаю...
По идее, да. Но на деле не работает, пробовала. Видимо, они подстраховались, заблокировали. Иначе какой дурак им платить будет деньги за дополнительную память, если можно функцию в скрипт всунуть - и дело в шляпе. Кстати, поменяла в as-скрипте _MAX_WIDTH и _MAX_HEIGHT на нужные 800, скомпилировала в swf - всё пашет! Уррааа!! Буду теперь подгонять РНР-файл на занесение в базу данных, переименование, создание превьюшек, и т.д. Так что смена хостера пока подождёт. Спасибо, ребятушки, что поддержали деушку, не дали пропасть. Сладкий вам кисс!
Посмотри тогда в сторону ihc.ru полтинник в месяц, memory_limit 128, плюс доступен к редактирования php.ini. поддержка говорит что память выделяется автоматически..
Ангел, это вечная проблема стандартного хостинга - гарантировано не более 10% загрузки процессора! Есть у меня история занимательная из личного опыта на тему Битрикса и хостинга. Хостинг - это VDS Slidebar (выделенный виртуальный сервер), очень интересный у них подход к оплате - она почасовая и зависит от выбранных ресурсов, которые очень гибко меняются от откровенно слабых (тех же 10%) до сверхмощных (100% 4-ядерного процессора, ну и память и объем диска тоже можно менять). Так вот я установил все поминимуму, чтобы подешевле было, и попытался развернуть там битрикс-сайт (а Битрикс как известно - один из лидеров среди систем управления сайтами по потребляемым ресурсам) - фигушки! Пока не подкрутил чуток ресрусов - не встал зараза 8)) Но как-только сайт развернул, мощность проца опять убавил до 10% и теперь пока не требуются какие-то ресурсоемкие операции (типа бэкап, переиндексация, импорт каталога) сижу на малом огне. Вот такие фокусы!
По сабжу - попробовать imagemagick. Это внешний процесс не занимающий память в РНР. Если на хостере можно вызывать его - смело используйте. Хотите яваскрипт - учите canvas, но это тогда 50% браузеров лесом идут. ActiveX даже не предлагаю - лесом идут все.
Всё долбаю этот флэш-аплоадер. Многое подогнала, галерея вроде работает, теперь вписываю в другие места на страничках, где должны подгружать картинки в тексте. Тут столкнулась с проблемой, которую никак не пойму - объясните? Короче, разные варианты флэшки подгружаются ява-скриптом. Для того, чтобы шло автоматом, каждому параграфу в цикле соответствует флешка под таким же номером, то есть imgUpload_p1.swf, imgUpload_p2.swf, итэдэ. Ява-скрипт пишу при помощи РНР прямо в цикле. Вот эта строчка: Код (Text): echo "swfobject.embedSWF(\"swf/imgUpload_p".$n.".swf\", \"flashHolder\", \"100%\", \"100%\", \"10.0.0\", false, flashvars, params, attributes);\n"; Там $n - переменная цикла (или как там она называется, в теории я не сильна) - а вернее, на единицу больше, чтобы всегда было больше нуля. Когда смотрю хтмл-источник на выходе - всё как надо: Код (Text): swfobject.embedSWF("swf/imgUpload_p1.swf", "flashHolder", "100%", "100%", "10.0.0", false, flashvars, params, attributes); Но - не работает, флэшка не грузится. Если же пишу код без переменной Код (Text): echo "swfobject.embedSWF(\"swf/imgUpload_p1.swf\", \"flashHolder\", \"100%\", \"100%\", \"10.0.0\", false, flashvars, params, attributes);\n"; то на выходе в результате строчка точно та же, что и с переменной, но флэшку находит без проблем. Что-то я явно недопонимаю. Рылась в инете на тему передачи переменных - если верить статейкам, то вроде я правильно делаю. Но не ловит он почему-то эту переменную. Если бы её в исходном хтмл-е не было, то тогда бы ещё понятно - но она же есть! А почему не читает?
Ну, Елена - а что? Англ оригинальнее. Обзываццо будешь? Типо, Елена - под зад тебе коленом. На Англ обзывательство не подберёшь. Про переменную-то подскажешь? Чего оно кочевряжится?
Переменных несколько? Да пока бы одну. Эта строчка в скрипте подгружает флэшку (javascript я не сама писала, это готовый скрипт, который прилагался к аплоадеру, я только правлю и пытаюсь связать с РНР). Мне надо, чтобы в цикле подгружались флэшки под разными номерами ($n в скрипте). Просто когда РНР пишет название файла в ява-скрипте напрямую, без участия переменной ( "imgUpload_p1.swf" ), то всё работает. Когда же при помощи переменной (" imgUpload_p".$n.".swf" ), где $n=1 - то не работает. Хотя в обоих вариантах в исходном варианте в хтмл-е выглядит абсолютно одинаково.
Мне не картинки выводить, а флэш-аплоадер. Картинки выводятся без проблем. Это всё я вокруг памяти кручусь. Если бы сделать аплоадер на голом РНР, то это вообще элементарно, в том же цикле. Да у меня так и было всё. Но поскольку большие файлы сервер не принимает, то я меняю сейчас РНР-шный аплоадер на флэшовый. А он вставляется ява-скриптом, в котором я ни бум-бум, как и в экшн-скрипт. Поэтому подправить в них с уверенностью могу только явное: цифры, урлы, остальное пока не решусь. Тут мне надо всего-то передать в ява-скрипт переменную цикла из РНР. И вроде как она передаётся, потому что в коде хтмл всё идеально, значение переменной вписано в название файла. Но не работает! А точно такой же код, но без переменной цикла (то есть, вместо $n я сразу пишу её цифровое значение) - работает. Я, наверное, запутанно объясняю. Попытаюсь в схеме показать. Короче, начинается цикл в РНР: Код (Text): for ($i=0; $i<$rownum; $i++) { $n = $i+1; ..............////////////// тут не имеющий отношения к проблеме код //////////// а тут пошёл JavaScript echo "<script type="text/javascript">\n"; ............. //////////// опять-таки не относящийся к делу код JavaScript echo "swfobject.embedSWF("swf/imgUpload_p".$n.".swf", "flashHolder", "100%", "100%", "10.0.0", false, flashvars, params, attributes);\n"; /// вот в этой строчке $n используется в имени файла echo "</script>\n"; } Так вот, в хтмл эта строчка выглядит как надо : swfobject.embedSWF("swf/imgUpload_p1.swf", "flashHolder", "100%", "100%", "10.0.0", false, flashvars, params, attributes); при условии, что $n = 1 (это первый цикл). Но флэшка не грузится! А если я пишу без переменной $n, то есть сразу имя файла "imgUpload_p1.swf", то всё подгружается. При этом хтмл-код в обоих случаях выглядит одинаково.
Да весь код ничего не даст, там табличка прорисовывается и значения из сессии вписываются - всё. Могу привести, конечно, но главное я выше написала, остальное отношения к делу не имеет: PHP: <?php for ($i=0; $i<$rownum; $i++) { $n = $i+1; echo "<tr>\n"; echo "<td class="paragraf">"; echo "<input type=checkbox name="row"; echo $n; echo ""></td>\n"; echo "<td class="space_text">"; echo "<table align="center" width=100% border="0" cellspacing="0" cellpadding="0">\n"; echo "<tr height="200">\n"; echo "<td class="space_text" width="210">"; if ($_SESSION['plc_indhold'][$i]['paragrafNo']%2!=0){ echo "<img class="billed_ramme" src="/images/indflytning/".$_SESSION['plc_indhold'][$i]['picture']."" /><br />\n"; ////////////////////////////// start of JavaScript echo "<script type="text/javascript">\n"; echo "var flashvars = {};\n"; echo "flashvars.path = "http://localhost/plc/";\n"; echo "var params = {};\n"; echo "params.menu = "false";\n"; echo "params.scale = "noscale";\n"; echo "params.salign = "tm";\n"; echo "var attributes = {};\n"; echo "attributes.align = "middle";\n"; echo "swfobject.embedSWF("swf/imgUpload_p".$n.".swf", "flashHolder", "100%", "100%", "10.0.0", false, flashvars, params, attributes);\n"; echo "</script>\n"; ////////////////////////////// end of JavaScript Ну, и дальше там цикл продолжается, это неважно. Тут я явно не въезжаю в тему, как ява-скрипт работает, потому что в хтмл-коде всё написано правильно (название флэш-файла "imgUpload_p1.swf" выводит без ошибок). То есть, браузер читает, как надо - а ява-скрипт не находит этот файл. Хотя если вписать название файла напрямую, без переменной, то подгружает. Я, кстати, тоже ещё не ложилась, всё с этим гамном вожусь. Уже и так, и сяк, и наперекосяк - а оно как упёрлось - и ни с места. Всё, сил уже нет, пошла баиньки.