PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (789): В начало « ... 5 6 7 8 [9] 10 11 12 13 ... » В конец

> Найдено сообщений: 11830
Мелкий Отправлено: 01 Февраля, 2019 - 09:04:28 • Тема: Достать все целые числа из подстроки • Форум: Регулярные выражения

Ответов: 5
Просмотров: 303
idiot3000 пишет:
Можно ли как то одним выражением все это достать?

нет.
Подмасок должно быть фиксированное число.
Или регулярка, выхватывающая аттрибут id с дальнейшей обработкой до массива (explode, в частности)
Или один цикл. Но без регулярки, а пишете свой парсер строки на конечном автомате.
Мелкий Отправлено: 29 Января, 2019 - 14:49:45 • Тема: Зациклилась кнопка, нужна консультация • Форум: Вопросы новичков

Ответов: 6
Просмотров: 211
difight, во время которого из запусков скриптов?
Если не поняли, почему я спрашиваю именно так - вы просто не понимаете, как работает shared nothing архитектура PHP. Между разными запусками одного скрипта нет совершенно никакой связи. Кроме той, что запрограммируете самостоятельно.
Да, вы можете сделать unset($_POST); Он выполнится, удалит эту переменную, затем скрипт завершится, браузер пришлёт новый запрос, PHP инициализирует окружение заново. Почему здесь не должно быть $_POST, если клиент его прислал?

difight пишет:
а unset случайно не после header("Refresh:0"); вставляли ?

Кстати сюда тоже прокомментирую: не имеет значения. header не прерывает поток выполнения скрипта и как правило не будет отправлен клиенту до начала вывода страницы (или завершения скрипта).
Мелкий Отправлено: 29 Января, 2019 - 14:30:58 • Тема: Зациклилась кнопка, нужна консультация • Форум: Вопросы новичков

Ответов: 6
Просмотров: 211
Сделайте редирект как в 4 строке.
unset для любых $_POST, $_GET, $_COOKIE, $_SERVER делать бесполезно, их присылает клиент и если клиент их опять пришлёт - конечно они никуда не пропадут.
Мелкий Отправлено: 27 Января, 2019 - 18:10:02 • Тема: Не получается установить composer через curl • Форум: Apache и другие веб-серверы

Ответов: 2
Просмотров: 200
Команда странная. Скорей всего где-то должны быть кавычки.
Мелкий Отправлено: 23 Января, 2019 - 10:37:12 • Тема: Уменьшение кол-ва подключений к mysql из php • Форум: Обсуждение статей

Ответов: 4
Просмотров: 884
clawham пишет:
Ну и конечно же самый главный вопрос - а как можно более правильно написать код получения картинки? он является какбы рабочей лошадкой.

Повторюсь: зачем вам вовсе писать картинку в базу если заведомо известно что читать будут только последнюю?
Зачем вам вообще какой-то код для получения картинки?
Раздавать картинку напрямую файлом на порядок-другой дешевле чем из базы и ещё на пару порядков дешевле если не дёргать PHP. А та задача что вы пока что описали именно что не требует ни чтения базы ни даже вызова PHP для показа картинки.

clawham пишет:
По поводу persistent sqli я ничего не понял - просто вместо localhost надо написать p:localhost?

Согласно документации да. Редко mysqli вижу. В сравнении с PDO неудобный API для prepared statements.

clawham пишет:
а с данными - штук 400 датчиков раз в 3 секунды должны будут делать запрос как на передачу картинки только там будут числовые данные и вот эти данные надо складировать в базу данных а потом опять же выдавать в графики и прочее и там уже рабочей лошадкой будет загрузка данных на сервер. и тоже надо как-то красиво это делать чтоб не насиловать sql

Начать с того, что реляционная база вообще не очень подходящий выбор для откровенно time-series данных, для которых есть специальные time series database.
400 датчиков по 3 секунды, 4млрд событий в год. Ну такое. Пробовали сгенерировать фиктивных данных за пару месяцев? Для начинающего 350млн строк в месяц и попытка представить выборку из них на графике могут оказаться сюрпризом. Сильно зависит от того как именно строить графики, впрочем.

clawham пишет:
почему отдельно выделил платные? да потому что даже если взять самый дорогой план на https://thehost[dot]ua - то там всего 36000 соединений максимум... это ж всего 10 клиентов с обновлением раз в секунду наклоцать могут! Как не на нем порталы целые предлагается хостить с 10-ком сайтов?

А что, вот это - единственный вариант?
Ну хрень какая-то. Дешёвая. 7 долларов в месяц всего. Да даже топовый сервер всего на 32гб ram и с 4 ядрами предлагают. Что за ужас там ставят вместо SSD боюсь представлять. В общем компания явно специализируется на низкобюджетных клиентах с визитками и другой мелочёвкой. Что с другой стороны тоже неплохо, лучше чем пытаться угодить всем и не угодить никому в итоге.
Кому надо что-то приличнее - пойдут к другим. Лично мне привычна картина из нескольких серверов на 100-200ГБ RAM и нескольких десятков ядер CPU только под нужды базы обслуживающей всего один сайт.
Мелкий Отправлено: 22 Января, 2019 - 20:21:59 • Тема: Уменьшение кол-ва подключений к mysql из php • Форум: Обсуждение статей

Ответов: 4
Просмотров: 884
Начните с самого начала:
clawham пишет:
скрипт его пихает в blob базы данных

Вот отсюда - зачем?
Пишите в файл и раздавайте файлом.

В остальном:
По коду - вы поразительным образом умудрились совместить prepared statements и sql инъекции. Не надо так делать. Посмотрите примеры даже в документации, как передавать параметры для запроса.

clawham пишет:
я каждый раз открываю новое подключение.

Верно

clawham пишет:
есть какие-то глобальные переменные которые от запуска к запуску скрипта сохраняют свое значение?

Переменных нет. PHP намеренно сделан shared nothing
Но некоторые вещи бывают разделяемые, в частности mysqli можно попросить держать persistent connect: http://php.net/manual/en/mysqli.persistconns.php

clawham пишет:
Во всех хостингах даже платных кол-во подключений к базе данных ограничено.

Очень странно выделили "даже платных".
Не во всех, конечно. Возьмите банально VPS и подключайтесь к mysql так часто насколько у вас хватит ресурсов CPU.
Мелкий Отправлено: 17 Января, 2019 - 11:50:51 • Тема: cUrl Authtorization • Форум: Программирование на PHP

Ответов: 2
Просмотров: 166
curl может сам сформировать basic auth заголовок, вот так:
PHP:
скопировать код в буфер обмена
  1. curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password);

Но и в вашем варианте я ошибку не вижу.

Выведите сам $this->configParams['username'].':'.$this->configParams['password'] - данные ожидаемые? Без аномалий?
Ну и на всякий случай - сервис точно требует basic auth? Может быть что-то другое
Мелкий Отправлено: 17 Января, 2019 - 10:04:48 • Тема: MySQL запрос c двумя таблицами? • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 229
ага, я забыл * поправить для left join. Там по условию бесполезные null будут со второй таблицы всегда.
Мелкий Отправлено: 17 Января, 2019 - 09:32:11 • Тема: MySQL запрос c двумя таблицами? • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 229
Vladimir Kheifets пишет:
(SELECT count(id) FROM blacklist WHERE userID = user.id OR objectID = user.id )=0

Не надо так делать. Нет нужды перебирать и считать всё подходящее, когда заведомо известно, что проверяем существование хотя бы одной строки. Есть куда более подходящие exists/not exists.

andrewkard пишет:
SELECT * FROM match WHERE id NOT IN ( SELECT id FROM email WHERE id IS NOT NULL)

Честно уже не помню насколько внятно это умеет выполнять mysql.
Есть весёлое ограничение из стандарта SQL о том, как именно IN должен обрабатывать ситуацию если в строках подзапроса будет хотя бы один NULL: как NULL всего выражения, независимо от прочих результатов. Из-за этого например в postgresql in хуже эквивалентного exists.

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM user WHERE NOT EXISTS (SELECT 1 FROM blacklist WHERE userID = user.id OR objectID = user.id )

Либо для старых mysql (емнип в 5.6 правили)
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM user LEFT JOIN blacklist ON userID = user.id OR objectID = user.id WHERE blacklist.userID IS NULL
Мелкий Отправлено: 15 Января, 2019 - 14:42:59 • Тема: Не понятная ошибка • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 390
да нет, живой вроде: https://bugs.php.net/report.php если я случайно опечатался в адресе.

Вспомнил как собирать, в мастере уже починили, может и в уже вышедшем 7.3.1 исправлено, собирается пока. У меня 7.3.0 ещё был
(Добавление)
7.3.1 так же баг, исправление есть в ветке 7.3, то есть войдёт в 7.3.2 релиз и далее.

Anguis пишет:
по всей видимости пых переживает не лучшие времена...

Это фигня. В первых минорных релизах всегда что-нибудь весёлое может случиться.
Для первых минорных релизов мы и postgresql не советуем ставить свежей major версии в бой. А там код поприличнее на мой субъективный взгляд автора пары патчей.
Мелкий Отправлено: 15 Января, 2019 - 14:14:47 • Тема: Не понятная ошибка • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 390
сдаётся мне путь вам прямиком в bugs.php.net
Это чудесный пример регрессии с простым и понятным reproducer, при том явно не запрещённым в документации.
На 7.2.4 похоже ещё работало (из ближайшего online sandbox), а я что-то разучился php компилировать
Мелкий Отправлено: 15 Января, 2019 - 13:48:31 • Тема: Не понятная ошибка • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 390
Выкинем лишнее, добавим недостающее:

PHP:
скопировать код в буфер обмена
  1. class currency{
  2.  
  3.     private static function from () {}
  4.  
  5.  static function __callStatic($modname,$args){
  6.     var_dump($modname, $args);
  7.   }
  8. }
  9.  
  10. currency::from2(16);
  11. currency::from(16);
  12.  


И видим чтобы вы подумали...
Спойлер (Отобразить)
Мелкий Отправлено: 11 Января, 2019 - 14:32:51 • Тема: Расшифровка файлов на FTP сервере • Форум: Вопросы новичков

Ответов: 5
Просмотров: 183
Не "md5 файлы", а "md5 файла", это единственное число, а не опечатка. Одного конкретного, того который отправляете и который получается на ftp сервере.
Любой реализацией md5 посчитайте хэш файла. Можно любым другим алгоритмом, sha1, md5, да хоть crc32. Если хэш совпадает, значит файл (скорей всего) не был искажён при передаче.
Мелкий Отправлено: 11 Января, 2019 - 11:33:07 • Тема: Расшифровка файлов на FTP сервере • Форум: Вопросы новичков

Ответов: 5
Просмотров: 183
Посчитайте md5 файла. Если не изменился - значит передан верно, а неверно открываете вы.
Мелкий Отправлено: 11 Января, 2019 - 10:40:26 • Тема: Расшифровка файлов на FTP сервере • Форум: Вопросы новичков

Ответов: 5
Просмотров: 183
Включите error_reporting в адекватный E_ALL и отлаживайте скрипты только так.
В частности, $name вы определяете используя переменную $type, которую определяете после. Конечно это работать не будет.

А файлы без расширений ничем не отличаются от файлов с расширениями. Это лишь часть имени файла.

Страниц (789): В начало « ... 5 6 7 8 [9] 10 11 12 13 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB