За последние 24 часа нас посетили 17725 программистов и 1712 роботов. Сейчас ищут 1840 программистов ...

Система друзей и ее реализация php mysql

Тема в разделе "PHP для новичков", создана пользователем _ne_scaju_, 14 мар 2017.

  1. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    обычно пережимают просто картинку. типа пересохраняют, открыв как картинку.
     
  2. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @igordata
    Вот хотелось бы как бы хранить мини и оригинал картинки, вроде будет правильно так. Вот когда загрузка файла произошла идет ресайз картинки, а если тыкнуть на нее то открываем оригинал.
    Как это делается, не могу подобный пример найти)))
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Посмотри это https://imagine.readthedocs.io/en/latest/
     
  4. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @denis01
    Вот тот мини кусок кода? Вы смеетесь?
    Или я так понял полная документация от куда и ка...
    Я прошу пример а не документации, конечно мне не кто не должен вообще помогать, ну просто пример нужен.))))
     
  5. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Ой народ привет еще раз, вот нашел кусок кода
    когда то он у меня уже был, и я из нескольких кодов собрал один, вроде так было, уже давно просто было, и сейчас я его протестировал,
    создается вроде мини изображение, в базу записывается его имя без пути полного,
    осталось как то добавить хеш для каждого загружаемой картинки.(КТО может помогите мне с этим)
    И улучшить проверку, допустим загружать файлы .php .js и т.д нельзя.
    И еще хотелось бы конечно кто с этим сталкивался, при нажатии на картинку открывалась картинка оригинал))))
    Код приложил к посту) Посидите посмотрите может что не так сделано исправите, ну очень благодарен буду! (СПАСИБО ЗА РАНЕЕ)
     

    Вложения:

    • upload_foto.zip
      Размер файла:
      2,3 КБ
      Просмотров:
      1
  6. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Забыл добавить для того что аватар грузился надо добавить в этот запрос переменную
    $stmt->execute(array($path . $name));
    Вроде так: если кто найдет лучше решение пожалуйста предложите мне, или улучите существующий код, или просто предложите чего не хватает, я буду пробовать изменить, данный скрипт.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нет. я не смотрел скрипт.

    я могу показать свой код, который я использую для обрабоки присланного юзером изображения.
    PHP:
    1. <?php
    2. PinPIE::$template = false;
    3. $file = $_FILES["canvasImage"];
    4. $filename = PinPIE::$conf->oth['users avatar folder'] . '/' . (int)User::$id . '.png';
    5. ajaxResponse::debug($filename, 'Saving file to path');
    6.  
    7. try {
    8.     throwOnFalse($file['error'] == UPLOAD_ERR_OK);
    9.     $image = new Imagick($file["tmp_name"]);
    10.     throwOnFalse($image);
    11.     //throwOnFalse($image->writeImage($uploads_dir . '/' . (int)User::$id . '.original.png'));
    12.     throwOnFalse($image->resizeImage(200, 200, Imagick::FILTER_LANCZOS, 1));
    13.     if (file_exists($filename)) {
    14.         ajaxResponse::debug(unlink($filename), 'unlink');
    15.     }
    16.     throwOnFalse($image->writeImage($filename));
    17.     $image->destroy();
    18.     ajaxResponse::addMessage(l(['en-us' => 'Avatar changed', 'ru' => 'Новый аватар успешно установлен']), 'success');
    19.     ajaxResponse::Data('avatar', Users::getAvatarPath());
    20.     ajaxResponse::setStatusOK();
    21. } catch (Exception $ex) {
    22.     ajaxResponse::setStatusError();
    23.     ajaxResponse::debug($ex->getMessage());
    24.     ajaxResponse::debug("Trace log:\n" . $ex->getTraceAsString());
    25. }
    26. echo ajaxResponse::render();
    --- Добавлено ---
    интерес представляют:
    8 строка: проверка, что файл был загружен без ошибки.
    9 строка: создание картинки из присланной картинки.
    11 строка: я забил сохранять оригиналы.
    12 строка: обрезка под квадрат.
    16 строка: сохранение присланного и обработанного изображения.

    всё. больше ничего делать-то и не нужно.
     
  8. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @igordata
    Завтра посмотрю, что и как он действует, это же не полный код?
    Просто я вижу тут используется ajax я с ним вообще не работал)))
    Ну если будет время загляни в архив который я скинул, может что нового посоветуешь мне :D
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну можно сказать полный. По крайней мере в этом файле ничего больше нет, запрос обработан, ответ дан, в json сложен, если что не так во время проверок - кидается эксепшн. А что такое эксепшены - иди читай =)
     
  10. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @igordata
    Ну ну изучать еще один язык))) Для начала надо эти языки подкрепить, а потом браться за ajax и т.д.
    Ну а за пример конечно спасибо)) Может кто еще что мне скинет буду рассматривать все варианты, что лучше и по легче, в данный момент.)))
     
  11. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Форумчане у меня проблемы указывать правильные пути, пример, в проекте.
    Если я указываю так:
    $uploadDir = '../../images/avatar'; в базу записывается ../../images/avatar/jasdfkajsdfasdfjalsd.jpg а вы мне говорили сделать так что бы в базу записывалось одно названия картинки, а у меня не получается, ну если я добиваюсь одного названия картинки, то потом вывести из базы не могу картинку.
    Что делать как быть?
     
  12. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Не знаю прям, но говорят может помочь изучить основы.
     
  13. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @acho
    А что ты бы предложил бы? использовать _DIR_. не ну и с ним у меня не получается. И нафига основы учить к путям??? Я уже все вычитал по путям что можно было, там пишут такое например: ../файл.пхп Файл находится чуть выше а если указывать ../../файл.пхп Файл находить на 2 уровня выше.
    Это понятно, а как добиться что бы путь исчез? Точнее если я делаю что бы его не было, только названия картинки в базу записывалось, то картинка потом не выводится на экран, думаю из-за того что он не может найти файл в той папке по которому находится картинка, а у картинки грузится ее одно названия без папки.
    А если указывать путь и файл и в базе запись такая идет, то выводить на экран картинку получается.
     
  14. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    яснопонятно
     
    SamyRed нравится это.
  15. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @acho
    Это не ответ, это гибкий уклон от ответа? Как бы ты сделал?
    --- Добавлено ---
    @igordata
    Как бы ты путь указывал, что бы потом вывести картинку можно было?
     
  16. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Это уклон к тому, что ты не думаешь. От слова совсем. Думают здесь за тебя другие программисты. (хотя нет, не "другие программисты", а просто программисты).
    1. в БД имя изображения, в конфиге путь к папке с изображениями, на выводе конкатенация значения конфига и имени картинки
    2. используя фрей... 1. только 1.
     
    SamyRed нравится это.
  17. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    1. У меня так и есть, в БД имя изображения, в конфиге путь к папке с изображениями,
    Вот это я не понял на выводе конкатенация значения конфига и имени картинки
    2. тоже не понял.
     
  18. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Значит надо прогуглить, если слово незнакомое
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не понял. расскажи, что тебя пугает?
     
  20. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @igordata
    Если я указываю так:
    PHP:
    1. if (!move_uploaded_file($filePath,  __DIR__ . '/images/avatar/' . $name . $format))
    В базу записывается значения вот такое:
    ba45c8f60456a672e003a875e469d0eb.jpg
    Шифрованное в md5
    И картинка не выводится почему то не
    структура проекта такая:
    PHP:
    1. users/*все ниже папки лежат в этой папке users*/
    2.    profiles/*тут лежит обработчик и форма для загрузки картинки*/
    3.       images/
    4.         avatar/
    в папке profiles лежит файл с обработчиком. Как правильно указать путь???? кто подскажет?
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    конфиг веб-сервера ответит тебе на этот вопрос :D
     
    acho нравится это.
  22. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    @igordata, лол
    --- Добавлено ---
    я в голосину прям
     
  23. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @igordata
    Согласен он покажет а толку? ПУТЬ ЖЕ ОН не подскажет
    Посмотрите мой путь структура файла, такая как на скрине... обработчик upload_foto
    ну как путь указать умники)))
    --- Добавлено ---
    @igordata
    Ну как быть? Какой путь должен быть?
     

    Вложения:

    • 22.png
      22.png
      Размер файла:
      3,1 КБ
      Просмотров:
      3
  24. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Короче добился того что только в эту папку могу кинуть файлы вот например обработчик и папка image находится в одной папки. Тогда я могу загружать и вытаскивать из базы.
    А если я хочу добавить в папку images папку avatar то в базу записывается значения но не вытягивается картинка из базы.
    Может кто ЗНАЕТ как обойти эту фигню наконец то.
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    чувак, без конфига веб-сервера нельзя ответить на этот вопрос. Какой по-твоему должен быть путь у меня на моём сайте?