• Как правильно пользоваться composer?

    Если папка vendor у Вас находится в той же директории что и исполняемый скрипт, тогда:
    require_once("vendor/autoload.php");

    далее пишете use если нужно

    Не ответ на вопрос, но если кому либо потребуется установка composer на Centos 7 blog.ivru.net/?id=83
    Ответ написан
  • Нужно создать миниатюру картинок особенным образом?

    доброго времени суток.
    Ранее писал на php код, который берёт из одной папки все изображения, затем ресайзит их в зависимости что больше ширина или высота, а ещё вставляет водяной знак и новые сохраняет в новой папке.
    Только этот скрипт не делает как Вы указываете - вставляет на белый фон, в зависимости от рамеров, при этом функции для того чтобы реализовать как Вам надо в коде есть. Сейчас недостаточно времени чтобы рассказать детальнее, поэтому если разбираетесь в php переделайте под себя(приведённых функций скорее всего достаточно).

    По логике Вам потребуется: определить размеры исходного. В зависимости от них создать размер для нового. Далее отресайзить исходное. Рассчитать координаты для вставки в новое отресайзенного исходного.

    Вот мой код как он был изначально:

    <?php
    function imageresize($outfile,$infile,$neww,$newh,$quality) {
    $im=imagecreatefromjpeg($infile);
    $x = imagesx($im);
    $y = imagesy($im);
    if (($x < 200) and ($y < 200)) {
    return true;
    }
    if (($x < $neww) and ($y < $newh)) {
    $neww = $x;
    $newh = $y;
    }
    $ko = $neww / $x;
    $xx = $x;
    $yy = $y;
    if (($x != $neww) or ($y != $newh)) {
    $xx = $neww;
    $yy = round($y * $ko);
    if ($yy > $newh) {
    $yy = $newh;
    $ko = $newh / $y;
    $xx = round($x * $ko);
    }
    }
    $im1=imagecreatetruecolor($xx,$yy);
    imagecopyresampled($im1,$im,0,0,0,0,$xx,$yy,imagesx($im),imagesy($im));

    // работа с водным знаком
    $wm=imagecreatefrompng('vznak.png');
    $wmW=imagesx($wm);
    $wmH=imagesy($wm);

    $cx = $xx - $wmW - 20;
    $cy = $yy - $wmH - 20;

    imagecopyresampled ($im1, $wm, $cx, $cy, 0, 0, $wmW, $wmH, $wmW, $wmH);

    imagejpeg($im1,$outfile,$quality);
    imagedestroy($im);
    imagedestroy($im1);
    imagedestroy($wm);
    }

    foreach (glob("img/*") as $file) {
    $file = basename($file);
    // $fileto = "newimg/$file";
    $fileto = "newimg/" . strtolower($file);
    $userfile = "img/$file";
    if (imagecreatefromjpeg($userfile)) {
    echo "%5C
    \n";
    imageresize($fileto,$userfile,800,600,85);
    } else {
    echo "bad - $userfile
    \n";
    }
    }
    Ответ написан
    Комментировать
  • Адекватный API почты России?

    Если Вам нужно наложенным платежом считать то могу предложить свой решение
    blog.ivru.net/?id=76 смотрите 4-ый и 5-ый блок textarea Вам нужна библиотека postRussianLib.php в 5-ом блоке textarea описано как с ней работать.
    Учитывайте что мне нужно было написать под случай наложенный платёж с стоимостью страховки 1 рубль, что я и сделал. Но вся библиотека в виде одного файла там видно как работают запросы, если заходите переделать под себя.
    Так же по возможности могу здесь ответить если будут вопросы.
    Ответ написан
    Комментировать
  • Как реализовать использование одинаковых частей html-страницы в MVC?

    Там смотрите. Есть же как бы основной шаблон в который входят всякие модули. Что мешает сделать так как это обычно происходит в cms

    то есть head лежит в основном шаблоне и в нём же размечены модули. А каждый модуль представляет из себя отдельное MVC то есть имеет совй контроллер модель и представление.

    Таким образом у Вас конечная страница собирается из кода основного шаблона + сгерерировавшегося html каждого из модулей которые подставляются в нужное место основного шаблона.

    По коду не привожу примеров в виду их объемности, а так же поскольку конечных решений много больше чем одно.
    Ответ написан
    Комментировать
  • Как спарсить сайт, если на нем JavaScript'ы, которые перекидывают на главную страницу?

    Возможно когда вы выводите информацию вместе с ней выводится и JavaScript.
    То есть делаете к примеру так $html = file_get_contents("http + :// + domen + / + url");// написал в таком формате чтобы ссылкой не заменялось
    затем выводите echo $html;//и получается выводится JavaScript который выполняется и затем например понимая что вы не на том домене перебрасывает Вас на другой сайт.
    Чтобы этого не было при отладке выводите $html так:
    echo htmlspecialchars($html);// то есть экранируйте вывод html тегов
    Ответ написан
    Комментировать
  • Почему выдает ошибку на существующую страницу при парсинге curl?

    Скорее всего не все заголовки передаёте необходимые для того чтобы сервер не считал Вас роботом или что то ещё.
    Попробуйте моей библиотекой curlpro.ivru.net скачиваете её в файл curlPro.php

    Далее так require_once("curlPro.php");// с указанием дирректории куда положили
    $cp = new curlPro();
    $cp->newip("zakupki.gov.ru");// под Ваш случай
    $cp->newuri("/epz/order/quicksearch/search.html");// так же под Ваш случай
    $text = $cp->go();// Здесь парсинг объект
    $text = $text->val();// Избавляемся от парсинг объекта,получаем текстовое значение
    var_dump($text);// или echo смотрите html страницы
    Ответ написан
    Комментировать
  • Какому языку, в какой среде начинать учить ребенка программированию 10 лет?

    Выбор за Вами я к примеру в 5 лет на Basic программировал. Потому что в этом возрасте у меня был ZX-SPECTRUM 48K и на нём был только Basic. А паскаль загружался отдельно и про это я узнал позже и так и не пользовался им на SPECTRUM а уже позже познакомился с ним в школе.
    На BASIC я тогда программировал всякое там движение точки по экраны в зависимости от нажатя кнопок на клавиатуре.

    Из предложенного Вами думаю JavaScript в вполне актуально и с расчётом на определённое будущее(а то и далее). Посмотрите и на браузерный и на nodejs и на его расширение NW.JS
    Ответ написан
    5 комментариев
  • Нужна ли математика для изучения php языка?

    Математика пригодится в любом языке.
    По PHP могу сказать сказать что: сложение, умножение, деление и вычитание скорее всего потребуются. А вот квадратные уравнения не могу сказать что очень нужны. Поэтому если складывать умеете можете пробовать изучать.
    По опыту могу сказать, что для изучения php нужно выучить примерно 30-50 функций. Зная их можно нормально программировать. И очень важно взять пункт "синтаксис php" и вот именно его выучить наизусть. По книжному объёму это порядка 50 страниц. Остальные функции можно искать в интернет.
    У меня был случай. Основы PHP я рассказал своему знакомому за 2 часа. Этого ему было достаточно чтобы самостоятельно написать потом чат.
    Ответ написан
    7 комментариев
  • Какую CMS выбрать для интернет магазина с более 100000 товаров?

    Берите битрикс. Не потому что у Вас много товаров. А потому что судя из того что Вы этот вопрос задаёте у Вас ещё будет много вопросов типа: а как мне теперь в этой cms это сделать.
    Просто из за того что у Вас будут возникать такие вопросы Вам нужна cms с которой работают разработчики и по которой Вас или смогут хотя бы проконсультировать или что то сделать за деньги.
    Потому что под Joomla например не каждая студия возмётся делать доработки, а bitrix возьмут на доработку. И если у Вас другая cms то Вам могут предложить перейти на bitrix.
    Хотя ранее я работал в студии и мы создавали сайты на Joomla. У нас были клиенты у которых был bitrix, и мы переделывали их сайты на Joomla потому что с битрикс не работали. Тем не менее такая ситуация более редкая.
    Ответ написан
  • Как передать данные формы через ajax?

    Для начала посмотрите что на сервер приходит. Просто впишите вверху php <?php var_dump($_POST);exit;

    И вот что ещё вижу global $link; если у Вас link не создаётся каким то другим скриптом, то у Вас отсутствует mysqli_connect
    Ответ написан
  • PHP кто то писал модуль интеграции со СДЭК?

    Думаю, что нужно по теме написать, что для интеграции(в том числе для калькуляции по ряду тарифов) необходимо иметь договор с СДЕК. Логина и пароля в ЛК не достаточно для интеграции, получив логин и пароль от ЛК СДЕК далее требуется написать на почту integrator@cdek.ru с почты указанной в договоре, в письме указать свой логин в ЛК СДЕК и попросить выдать секретные данные для интеграции интернет магазина с API СДЕК. Если у Вас секретных данных для API нет, то от библиотек толку особо не будет.

    Без секретных данных можно считать например на тарифе с Id=1.

    ______________________________________________________________________________________
    Пример если собираетесь написать свою библиотеку ниже
    ______________________________________________________________________________________
    Вот пример объекта JSON(в виде строки) для запроса:

    $query = '{"version":"1.0","dateExecute":"' . date("Y-m-d",time()+5500000) . '","senderCityId":"164","receiverCityId":"44","currency":"RUB","tariffList":[{"id":1}],"goods":[{"weight":"15","length":"40","width":"50","height":"60"}]}';

    В авторизованном режиме так же требуется добавить в запрос "authLogin":"ЛогинВСДЕК" и "secure":"СекретныйКлючь" перед версией.

    Эта информация пересылается по HTTPS на api.cdek.ru/calculator/calculate_tarifflist.php с обязательным указанием заголовка запроса Content-Type: application/json;charset=utf-8 (я использовал curl)

    В ответ получаем объект в виде строки JSON, var_dump которого выглядит следующим образом:

    object(stdClass)#4 (1) { ["result"]=> array(1) { [0]=> object(stdClass)#2 (3) { ["tariffId"]=> int(1) ["status"]=> bool(true) ["result"]=> object(stdClass)#3 (6) { ["price"]=> string(4) "2210" ["deliveryPeriodMin"]=> int(1) ["deliveryPeriodMax"]=> int(1) ["tariffId"]=> int(1) ["priceByCurrency"]=> int(2210) ["currency"]=> string(3) "RUB" } } } }
    Ответ написан
    Комментировать
  • KPHP - обмен опытом, кто работал?

    Господа, подскажите пожалуйста как на CentOs 6.5 x64 kphp установить

    Сейчас имею следующую проблему:
    [root@centos64 kphp-kdb]# make kphp
    cc -Wall -O3 -m64 -march=core2 -mfpmath=sse -mssse3 -ggdb -fno-strict-aliasing -fno-strict-overflow -fwrapv -DCOMMIT=\"ce6dead5b3345f4b38487cc9e45d55ced3dd7139\" -I common -I binlog -I net -I kfs -I drinkless -I skat -I vv -I objs -I . -c -MP -MD -MF dep/TL/tlc-new.d -MQ objs/TL/tlc-new.o -o objs/TL/tlc-new.o TL/tlc-new.c
    TL/tlc-new.c: In function ‘main’:
    TL/tlc-new.c:73:9: warning: variable ‘expr_filename’ set but not used [-Wunused-but-set-variable]
    char *expr_filename = NULL;
    ^
    cc -Wall -O3 -m64 -march=core2 -mfpmath=sse -mssse3 -ggdb -fno-strict-aliasing -fno-strict-overflow -fwrapv -DCOMMIT=\"ce6dead5b3345f4b38487cc9e45d55ced3dd7139\" -I common -I binlog -I net -I kfs -I drinkless -I skat -I vv -I objs -I . -c -MP -MD -MF dep/TL/tl-parser-new.d -MQ objs/TL/tl-parser-new.o -o objs/TL/tl-parser-new.o TL/tl-parser-new.c
    cc -Wall -O3 -m64 -march=core2 -mfpmath=sse -mssse3 -ggdb -fno-strict-aliasing -fno-strict-overflow -fwrapv -DCOMMIT=\"ce6dead5b3345f4b38487cc9e45d55ced3dd7139\" -I common -I binlog -I net -I kfs -I drinkless -I skat -I vv -I objs -I . -c -MP -MD -MF dep/common/kdb-data-common.d -MQ objs/common/kdb-data-common.o -o objs/common/kdb-data-common.o common/kdb-data-common.c
    cc -Wall -O3 -m64 -march=core2 -mfpmath=sse -mssse3 -ggdb -fno-strict-aliasing -fno-strict-overflow -fwrapv -DCOMMIT=\"ce6dead5b3345f4b38487cc9e45d55ced3dd7139\" -I common -I binlog -I net -I kfs -I drinkless -I skat -I vv -I objs -I . -c -MP -MD -MF dep/common/server-functions.d -MQ objs/common/server-functions.o -o objs/common/server-functions.o common/server-functions.c
    cc -Wall -O3 -m64 -march=core2 -mfpmath=sse -mssse3 -ggdb -fno-strict-aliasing -fno-strict-overflow -fwrapv -DCOMMIT=\"ce6dead5b3345f4b38487cc9e45d55ced3dd7139\" -I common -I binlog -I net -I kfs -I drinkless -I skat -I vv -I objs -I . -c -MP -MD -MF dep/common/crc32.d -MQ objs/common/crc32.o -o objs/common/crc32.o common/crc32.c
    cc -o objs/bin/tlc-new objs/TL/tlc-new.o objs/TL/tl-parser-new.o objs/common/kdb-data-common.o objs/common/server-functions.o objs/common/crc32.o -m64 -ggdb -rdynamic -lm -lrt -lcrypto -lz -lpthread
    /usr/bin/ld: cannot find -lcrypto
    collect2: error: ld returned 1 exit status
    make: *** [objs/bin/tlc-new] Error 1
    [root@centos64 kphp-kdb]# make kphp
    cc -o objs/bin/tlc-new objs/TL/tlc-new.o objs/TL/tl-parser-new.o objs/common/kdb-data-common.o objs/common/server-functions.o objs/common/crc32.o -m64 -ggdb -rdynamic -lm -lrt -lcrypto -lz -lpthread
    /usr/bin/ld: cannot find -lcrypto
    collect2: error: ld returned 1 exit status
    make: *** [objs/bin/tlc-new] Error 1
    Ответ написан