@igordata Вот хотелось бы как бы хранить мини и оригинал картинки, вроде будет правильно так. Вот когда загрузка файла произошла идет ресайз картинки, а если тыкнуть на нее то открываем оригинал. Как это делается, не могу подобный пример найти)))
@denis01 Вот тот мини кусок кода? Вы смеетесь? Или я так понял полная документация от куда и ка... Я прошу пример а не документации, конечно мне не кто не должен вообще помогать, ну просто пример нужен.))))
Ой народ привет еще раз, вот нашел кусок кода когда то он у меня уже был, и я из нескольких кодов собрал один, вроде так было, уже давно просто было, и сейчас я его протестировал, создается вроде мини изображение, в базу записывается его имя без пути полного, осталось как то добавить хеш для каждого загружаемой картинки.(КТО может помогите мне с этим) И улучшить проверку, допустим загружать файлы .php .js и т.д нельзя. И еще хотелось бы конечно кто с этим сталкивался, при нажатии на картинку открывалась картинка оригинал)))) Код приложил к посту) Посидите посмотрите может что не так сделано исправите, ну очень благодарен буду! (СПАСИБО ЗА РАНЕЕ)
Забыл добавить для того что аватар грузился надо добавить в этот запрос переменную $stmt->execute(array($path . $name)); Вроде так: если кто найдет лучше решение пожалуйста предложите мне, или улучите существующий код, или просто предложите чего не хватает, я буду пробовать изменить, данный скрипт.
нет. я не смотрел скрипт. я могу показать свой код, который я использую для обрабоки присланного юзером изображения. PHP: <?php PinPIE::$template = false; $file = $_FILES["canvasImage"]; $filename = PinPIE::$conf->oth['users avatar folder'] . '/' . (int)User::$id . '.png'; ajaxResponse::debug($filename, 'Saving file to path'); try { throwOnFalse($file['error'] == UPLOAD_ERR_OK); $image = new Imagick($file["tmp_name"]); throwOnFalse($image); //throwOnFalse($image->writeImage($uploads_dir . '/' . (int)User::$id . '.original.png')); throwOnFalse($image->resizeImage(200, 200, Imagick::FILTER_LANCZOS, 1)); if (file_exists($filename)) { ajaxResponse::debug(unlink($filename), 'unlink'); } throwOnFalse($image->writeImage($filename)); $image->destroy(); ajaxResponse::addMessage(l(['en-us' => 'Avatar changed', 'ru' => 'Новый аватар успешно установлен']), 'success'); ajaxResponse::Data('avatar', Users::getAvatarPath()); ajaxResponse::setStatusOK(); } catch (Exception $ex) { ajaxResponse::setStatusError(); ajaxResponse::debug($ex->getMessage()); ajaxResponse::debug("Trace log:\n" . $ex->getTraceAsString()); } echo ajaxResponse::render(); --- Добавлено --- интерес представляют: 8 строка: проверка, что файл был загружен без ошибки. 9 строка: создание картинки из присланной картинки. 11 строка: я забил сохранять оригиналы. 12 строка: обрезка под квадрат. 16 строка: сохранение присланного и обработанного изображения. всё. больше ничего делать-то и не нужно.
@igordata Завтра посмотрю, что и как он действует, это же не полный код? Просто я вижу тут используется ajax я с ним вообще не работал))) Ну если будет время загляни в архив который я скинул, может что нового посоветуешь мне
ну можно сказать полный. По крайней мере в этом файле ничего больше нет, запрос обработан, ответ дан, в json сложен, если что не так во время проверок - кидается эксепшн. А что такое эксепшены - иди читай =)
@igordata Ну ну изучать еще один язык))) Для начала надо эти языки подкрепить, а потом браться за ajax и т.д. Ну а за пример конечно спасибо)) Может кто еще что мне скинет буду рассматривать все варианты, что лучше и по легче, в данный момент.)))
Форумчане у меня проблемы указывать правильные пути, пример, в проекте. Если я указываю так: $uploadDir = '../../images/avatar'; в базу записывается ../../images/avatar/jasdfkajsdfasdfjalsd.jpg а вы мне говорили сделать так что бы в базу записывалось одно названия картинки, а у меня не получается, ну если я добиваюсь одного названия картинки, то потом вывести из базы не могу картинку. Что делать как быть?
@acho А что ты бы предложил бы? использовать _DIR_. не ну и с ним у меня не получается. И нафига основы учить к путям??? Я уже все вычитал по путям что можно было, там пишут такое например: ../файл.пхп Файл находится чуть выше а если указывать ../../файл.пхп Файл находить на 2 уровня выше. Это понятно, а как добиться что бы путь исчез? Точнее если я делаю что бы его не было, только названия картинки в базу записывалось, то картинка потом не выводится на экран, думаю из-за того что он не может найти файл в той папке по которому находится картинка, а у картинки грузится ее одно названия без папки. А если указывать путь и файл и в базе запись такая идет, то выводить на экран картинку получается.
@acho Это не ответ, это гибкий уклон от ответа? Как бы ты сделал? --- Добавлено --- @igordata Как бы ты путь указывал, что бы потом вывести картинку можно было?
Это уклон к тому, что ты не думаешь. От слова совсем. Думают здесь за тебя другие программисты. (хотя нет, не "другие программисты", а просто программисты). 1. в БД имя изображения, в конфиге путь к папке с изображениями, на выводе конкатенация значения конфига и имени картинки 2. используя фрей... 1. только 1.
1. У меня так и есть, в БД имя изображения, в конфиге путь к папке с изображениями, Вот это я не понял на выводе конкатенация значения конфига и имени картинки 2. тоже не понял.
@igordata Если я указываю так: PHP: if (!move_uploaded_file($filePath, __DIR__ . '/images/avatar/' . $name . $format)) В базу записывается значения вот такое: ba45c8f60456a672e003a875e469d0eb.jpg Шифрованное в md5 И картинка не выводится почему то не структура проекта такая: PHP: users/*все ниже папки лежат в этой папке users*/ profiles/*тут лежит обработчик и форма для загрузки картинки*/ images/ avatar/ в папке profiles лежит файл с обработчиком. Как правильно указать путь???? кто подскажет?
@igordata Согласен он покажет а толку? ПУТЬ ЖЕ ОН не подскажет Посмотрите мой путь структура файла, такая как на скрине... обработчик upload_foto ну как путь указать умники))) --- Добавлено --- @igordata Ну как быть? Какой путь должен быть?
Короче добился того что только в эту папку могу кинуть файлы вот например обработчик и папка image находится в одной папки. Тогда я могу загружать и вытаскивать из базы. А если я хочу добавить в папку images папку avatar то в базу записывается значения но не вытягивается картинка из базы. Может кто ЗНАЕТ как обойти эту фигню наконец то.
чувак, без конфига веб-сервера нельзя ответить на этот вопрос. Какой по-твоему должен быть путь у меня на моём сайте?