Ну допустим будет у тебя один массив с кучей данных или 10 маленьких массивов с теми же данными разницы нет) А вот при передачи данных в функцию если данные там не изменяются, тогда можно выйграть память передав её по ссылке (точно не помню, но вроде php оптимизирован в этом плане и память под новую переменную не выделится пока ты не попробуешь изменить переменную)
Второй вариант это, когда наоборот тебе надо изменить переменную допустим массив и получить уже измененный массив, тогда лучше конечно сообщить переменную по ссылке и сразу изменять аргумент, чтобы в памяти не создавалась его копия, которая потом заменит оригинал.
Prizma я говорю не про кол-во попугаев, а про реальную работу. Тем паче про конкатенацию речи не было.
Окей, просто одного round() будет мало, чтобы вывести число с фиксированным кол-вом знаков после запятой, если конечно это требуется.
Просто интересно сколько sprintf нужно использовать чтобы снизить производительность? по моему и 1000 sprintf. что сложно представить наврятле нанесут хоть сколько-нибудь ощутимый урон производительности
с времен появления CSS через :active или :visited
Делать это через php нужно только если у вас шаблонизатор, но не так как у вас.
не, тут имеется ввиду другое, если я правильно понял, то допустим в главном меню у тебя есть ссылка на главную страницу и когда пользователь на ней тогда она меняет свой стиль
я всего лишь привел пример, а не сделал тебе готовое решение, я не знаю какие у тебя значения месяцев стоят. Поэтому проще убрать substr и в массиве сразу указать те значения которые у тебя.
множественные sprintf могут привести к падению производительности. Т.е. нужно использовать аккуратно.
http://micro-optimization.com/string-concatenation-with-single-quotes-vs-sprintf/
в последних версиях php скорость всего лишь в 1.5 раза ниже обычной конкотенации, которая выполняется почти моментально.
В своих проектах вместо:
$str=sprintf('В вашей корзине %s товаров на сумму %s руб.',$x,$y);
1. Нагляднее
2. Удобно править
3. Код становится более читаемым
Не значительный ущерб по производительности компенсируется сильными механизмами вывода, т.е. мне не нужно приводить значение, это делает сама функция, разработанная именно для этого. (Добавление)
К слову в тестах не было php 5.5 и 5.6, я думаю там эта функция работает еще быстрее.
На сайте отправляю пост запрос яксом и соответственно получаю данные.
Как поставить защиту скажем, мол запрос может быть отправлен только локально, с текущего домена...
Какую можно бы придумать защиту от парсинга своего сайта и в том числе от курла, мне больше интересно как защитить данные при парсинге курлом..
В соседней теме человек пытается пропарсить "защищенную" страницу курлом, у него не получается, там же я описал, как это обойти http://forum.php.su/topic.php?forum=71&topic=17901
Абсолютной защиты от этого не существует, можно понаставить препятствий, путем перенаправлений через JS, но и это не поможет если кому то будет надо будет парсить.
CURL имитирует пользователя, если вы будете ставить слишком много препятствий можете и реальным пользователям наставить преград.
А по поводу того, что можно придумать, придумано уже не мало, но можно извращаться на эту тему до бесконечности)) например при каждой загрузке странице менять куки через js)) но оно вам надо?
Что касается post запроса, он отправляется пользователем и никто не сможет сказать наверняка черех CURL он был сделан или через браузер, потому что грань между ними слишком размыта ... это как если тебе пришло сообщений от незнакомой девушки "Привет!" и ты пытаешься определить по сообщению правда это девшука или спам-бот))
вовсе нет, не буду же я каждый день например изменять в базе курс валют или новости, поэтому надо хоть как-нибудь отделить функции парсеров от обычных ответов в базе
DemoN1810 пишет:
таки и вправду не буду же я так делать, а основные ответы надо в базе держать, так удобнее
Типа ты после каждого запроса пользователя будешь парсить сайт центробанка или ММВБ чтобы написать актуальный курс? вместо того, чтобы через cron сделать это в автоматическом режиме и держать в базе всегда актуальное значение.
DemoN1810 пишет:
это чат-бот, есть функции, если собеседник написал например "курс валют" из базы бы бралось %COURSE% и заменялась на соответствующую функцию, в данном примере функцию парсера центробанка
К слову, я обслуживаю несколько интернет магазинов и пересчет из валют идет по курсу цб, курс обновляется в рабочии дни в 15:00 и 17:00 (иногда бывают задержки на цб) и этого вполне достаточно для поддержки актуальности цен.
DemoN1810 пишет:
а я часто вижу в кодах например %USERNAME%, который меняется на имя, можно в вордпрессе посмотреть, там тоже это есть насколько помню
Посмотрите, может, уже есть готовые классы.
С ходу:
http://rche[dot]ru/888_php-date-vyvo[dot][dot][dot]ogo-mesyaca[dot]html
да ты что пугаешь человека... ради 12 месяцев искать какой то класс...
Test11 пишет:
а сразу никак?
как, и еще как.
А точнее очень просто, если ты хочешь использовать именно эту функцию, то надо изменить данные так, чтобы они были корректными например так:
Сайт распознает что я пытаю забрать страницу и просит включить куки и javascript и не отдает ее. Вопрос в том как обойти?
Страница использует js для создания куки, если ты добавишь эту куку в cookies.txt то без проблем сможешь получить доступ к этой странице.
Попробовал загрузить страницу с включенным js - успешно.
Попробывал загрузить страницу с выключенным js - успешно (куки были полученны при предыдущей загрузке)
После очистки куки с выключенным js сайт делает переадресацию.
Если быть точным сомневаюсь, что куки добавляются по средством js скорее всего просто происходит переадресация на страницу, которая создает куки.
Через хром можешь вытащить куки с сайта и добавить их в свой txt, и будет тебе счастье) (Добавление)
Немного посмотрел как себя ведет страница:
После загрузки js отправляет post запрос сюда http://bgp.he.net/cc
Далее на этой волшебной странице тебе передаются куки если все данные формы были переданы естественно, и перенаправляет тебя обратно на ту страницу которая тебе нужна.
т.е. если всё делать по уму тебе надо через curl сразу отправлять post-запрос сюда http://bgp.he.net/cc... По моему вот этот код отправляет форму, вытащи ее оттуда через js_encode и отправь через curl, если это не она, тогда ищи в js файлах на странице.
var _0xb539 =["\x62\x67\x70\x2E\x68\x65\x2E\x6E\x65\x74\x20\x72\x65\x71\x75\x69\x72\x65\x73\x20\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x20\x61\x6E\x64\x20\x63\x6F\x6F\x6B\x69\x65\x73\x20\x74\x6F\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x2E\x20\x20\x50\x6C\x65\x61\x73\x65\x20\x65\x6E\x61\x62\x6C\x65\x20\x74\x68\x65\x73\x65\x20\x69\x6E\x20\x79\x6F\x75\x72\x20\x62\x72\x6F\x77\x73\x65\x72\x2E","\x74\x65\x78\x74","\x23\x65\x72\x72\x6F\x72","\x68\x61\x73\x68","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x3F\x68\x3D","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x70\x61\x74\x68","\x63\x6F\x6F\x6B\x69\x65","\x6A\x73\x74\x65\x73\x74","\x70\x6F\x73\x74","\x61\x6A\x61\x78"];
Есть страница с кнопкой, внизу текст со значением ( по дефолту 1 (из базы)), при нажатии на кнопку в базе должна проставляться на один больше эта переменная и на странице тоже соответственно цифра должна меняться на 2. (к базе подключается)