CoDy
-
Posts
381 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Calendar
Store
Posts posted by CoDy
-
-
Ситуация следующая: есть 2 простеньких сайта, посещаемость невысакая.
На данный момент плата за хостинг под них: 4.9 USD/месяц. Хостинг отличный, сапорт 24/7, при возникновении потребности все вопросы решаются оперативно через онлайн чат.
Недавно покопавшись нашел хостинг гораздо дешевле: от 1.5. до 2 USD/месяц.
Вопрос: "означает ли, что дешевый хостинг будет некачественным"? Быть может есть такой опыт перехода на более дешевый хостинг?
Если кто может из опыта посоветовать дешевый украинский хостинг, буду блангодарен.
-
в доступности на запись файла
Это можно проверить:
ini_set('display_errors', 'on');error_reporting(-1);$dir = getcwd();// $dir = '/root';echo 'файл искать тут:'. $dir;echo 'права на запись: '. (is_writable($dir) ? 'есть' : 'нет');
- 1
-
Текст запроса покажите, который получается и подробнее об алгоритме поиска.
Если нужно, чтоб в выборку попали строки где в столбцах title и text встречалось переданное значение, тогда запрос должен быть следующего вида:
SELECT *FROM female_articlesWHERE title LIKE "%искать%" OR text LIKE "%искать%"
Попробуйте подправить свой код следующим образом:
$search = trim($search);$search = stripcslashes($search);$search = htmlspecialchars($search);$sql = 'SELECT * FROM female_articles WHERE title LIKE :search1 OR text LIKE :search2';$data = $pdo->prepare($sql);$data->bindValue (':search1', '%'. $search .'%');$data->bindValue (':search2', '%'. $search .'%');$data->execute();$row = $data->fetch();
Для полей title и text желательно создать полнотекстовый индекс. При использовании в поисковом шаблоне оператора LIKE спец символа "%" в первой позиции, обычные индексы будут игнорироваться.
-- использование индекса, созданного для столбца title невозможно-- желательно создать полнотекстовый индексSELECT * FROM female_articles WHERE title LIKE "%search%";-- будет использован индекс, созданный для столбца titleSELECT * FROM female_articles WHERE title LIKE "search%";
-
Это все можно реализовать без флеш сейчас
я и не говорил, что flash - это единственно возможный вариант.
По-моему, с нами разговаривают три разных человека из одной головыуверяю Вас, я не шизофреник
-
По большому счету да мертвая, в контексте веба. Сейчас флеш не нужен для реализации того что на нем делали раньше
А как же анимированная банерная реклама(хоть это и "зло", но, как не крути, это неотъемлимая часть вэба), флеш 3d движки, на которых делают браузерные игры.
В данный момент, я считаю, что вэб не ограничивается текстом, ссылками и медиаконтентом. Для "среднестатистического" сайта(визитка, магазин, форкм...), согласен флеш в принципе не нужен.
Но вот для такого: http://www.thottbot.com/item=113874&bonus=0#modelviewer, флешь - это ОДИН из вариантов решения задачи. Или, например, всякого рода "мини" конструкторы или 3d вьюверы, - все эти задачи могут быть реализованы на флеше.
А еще убейте среднестатистическому пользователю флаш-плеер на компе...
- 1
-
Да просто я где-то слышал, то , что php потихоньку уходит в прошлое
Найдите любые 10 web-хостинг провайдеров. И посмотрите какие технологии они предоставляют на своих хостингах.
Как альтернативу php можно рассмотреть asp, java...
А по поводу слухов. Я года 3-4 назад читаль статью, что flash - мертвая технология.
-
Что имеется ввиду под термином "многостраничник"?
-
<?php// Получить значение дня, месяца и года для формирования UTS// начала временного периода.list ($year, $month, $day ) = explode(',', date('Y,n,j'));$start = mktime(7, 0, 0, $month, $day, $year);// Продолжительность временного периода в секундах.$period = 14 * 60 * 60 + 30 * 60;// Текущее значение UTS.$now = time();if ( $now >= $start && $now <= $start + $period) { echo 'Мы в диатазоне с 7:00 до 21:30';}
Код не отлаживал. Если будут ошибки - поправите. Суть, думаю, уловить можно.
Дико извеняюсь не обратил внимание, что тпик в форуме по JS.
// Текущее значение даты.now = new Date();// Получить значение начала временного периода.start = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 7);// Получить значение конца временного периода.end = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 21, 30);if ( now >= start && now <= end) { alert('Мы в диатазоне с 7:00 до 21:30');} else { alert('Мы вне диапазона с 7:00 до 21:30');}
- 1
-
Для стандартного компонента com_content: в материале есть "Параметры отображения материала" там есть настройка "Заголовок". Она имеет больший приоритет чем в меню и в дефолтовых настройках данного компонента. Выставить там скрывать.
-
Но все таки что это значит?
Вот Вам пример урла, который может быть передан от пользователя:
http://host.com/request?lang=../../../script/scripthttp://host.com/request?lang=../../../lib/scripthttp://host.com/request?lang=../../site/download/my_file
Таким образом Вашь скрипт позволит "лазить" по всем доступным закаулкам ФС, которые доступны пользователю от имени которого исполняется скрипт. От Вас хотят исключить возможность вставки спец символов(".","..","/"), которые позволят выйти за пределы папки где лежат языковые скрипты.
-
создать перед запросом -> выполнил запрос -> удалил индекс
Это издевательство над MySQL-серверов в чистом виде.
Создание(индексация) это довольно ресурсоемкая операция. На столько ресурсоемкая, что для некоторых движков таблиц реализованы механизм отложенного обновления индекса, который используют при работе с оч. большими массивами данных.
Но именно благодаря наличию индекса выполнение сложного запрос может сократиться в десятки раз.
Индекс должен создаваться во время проектирования структуры базы данных или на этапе ее эксплуатации. Индексы нужно создавать для:
- полей, по которым быдет осуществлються выборка по условию
- полей, которые будут использоваться для объединений
- 1
-
защититься от инъекций
Для этого более чем достаточно экранировать(mysqli_real_escape_strin или addslashes) пользовательские данные и, в данном случае, обрамить их кавычками.
проверить на совпадение логина и пароляОбычно пароль в запрос не вставляют. Получают выборки исключительно по логину и уже потом сравнивают полученный из выборки пароль с переданным.
По поводу mysqli_prepare(это аналог MySQL команды PREPARE): его рекомендуют пользовать при выполнении нескольких запросов, которые отличаются значением параметров. Суть данной конструкции заключается в подготовке запрос к исполнению(разбор запроса и построение его плана исполнения), которое происходит один при подготовке, а при непосредственном выполнеии запросов этот этап опускается. В вашем случае в этом нет смысла ибо запрос выполняется один раз.
-
0,005 сек - поиск по базе (строк в таблице 1728)
Результат, в данном случае, очевиден.
Что-то сильно скромный результат для такой маленькой таблицы.
Интересно, в эту цыфру вошло время на открытие соединения. Индексы созданы для поля, какой тип данных, какой тип индекса используется?
- 1
-
Плохо искали. Готовых решений на эту тему оч. много. А влепить гифку в фон дляя инпута на время обработки запроса это дело нескольких минут.
https://www.google.ru/search?hl=ru&btnG=1&pws=0&q=js%20autocomplete&gws_rd=ssl
-
-
Забудутся, 100% забудутся. Но останется глобальное понимание концепции (если, конечно, училась мат.часть, а не читались книги типа "cookbook for dummies"), что, я считаю, самым главным для ИТ-шника.
Из личного опыта: не имея практики написания кода на протяжении более чем 1-2 месяцев (по причине участия в проекте с другим ЯП), забываются нюансы синтаксиса, но все это быстро востанавливается (достаточно просто просмотреть чужой листинг).
-
Использование индекса, при таком построении запроса, исключено.
Как вариант, если производительность запроса сильно упадет. Тогда можно добавить к таблице новую колонку с интом, и дэфолтовым значением 0 и проиндексировать. И повесить триггер на таблицу, который будет "разбирать" строку, суммировать и результат писать в созданную колонку. Такой подход по идее будет полностью совместим со всеми алгоритмами наполнения и выборки данных из этой таблицы.
Такой подход будет уместен, если данные в таблице меняются не сильно часто. И соотношение запись / чтение меньше 1(а лучше если близко к 0).
-
Регулярки довольно медленная штука, да и функционала регулярных выражений, которые идут "в коробке" с MySQL не уверен, что будет достаточно. Скорее всего придется плагин цеплять. В данном случае вполне будет достаточно функции SUBSTRING_INDEX:
SELECT tmp.strFROM ( SELECT '20/30/60' AS str UNION SELECT '23/10/10' UNION SELECT '22/70/20' ) AS tmpWHERE SUBSTRING_INDEX(tmp.str, '/', 1) + SUBSTRING_INDEX(SUBSTRING_INDEX(tmp.str, '/', 2), '/', -1) + SUBSTRING_INDEX(tmp.str, '/', -1) > 100
Использование индекса, при таком построении запроса, исключено.
- 1
-
Помогите разобраться что не так делаю.
А точно ничего не забыли сделать с результатом выполнения запроса:
$date = $db->query("SELECT date FROM " . PREFIX . "_post WHERE `id`='{$newsID}' LIMIT 1");// $date - mysqli_result$date = $date->fetch_assoc();// $date - array$date = $date['date'];// $date - строка$expires = $date;$db->query( "INSERT INTO " . PREFIX . "_post_log (news_id, expires, action) VALUES('{$newsID}', '$expires', '1')" );
-
Первое - нужно определить под кем работает Apach (при условии, конечно, что php работает как модуль).
Для этого в терминале выполнить:
ps -AF | grep -e "apache"
Результат примерно следующий:
www-data - это пользователь под которым работают рабочие процессы апача (под рутом работает диспетчер - он не нужет).
Далее, чтобы дать доступ этому юзеру к файлу или каталогу, можно пойти несколькими путями.
Изменить владельца файла/каталога на пользователя апача, в моем случае на www-data:
chown -R www-data /var/www/site.com
Открыть всем (и www-data в частности) доступ к файлу/каталогу:
chmod -R 777 /var/www/site.com
-
Похоже у php нету доступа. Как его изменить?
Ознакомьтесь с системой разделения прав доступа в linux.
Изменить права доступа к файлу может только владелец или суперпользователь.
Если работаете с хостингом, тогда можно попробовать в панели администрирования хостинга найти менеджер файлов и через него выставить на файл права 777.
-
в настройках файла - чтение и запись +выполнения файла как программы(upload.php)
Эти настройки прописываются для: владельца, группы и остальных.
Если нет возможности посмотреть под кем запускается php, это можно узнать создав из под пхп файл и посмотреть его владельца и группу. Узнав под кем работает пхп, смотрите права на интересующий файл.
Примерно так:
error_reporting(-1);ini_set('display_errors', 'on');$fh = fopen('test', 'w+');fclose($fh);print_r(stat('test'));print_r(stat('XXX/Applications/Src/cache/index.php'));
Еще можно проверить доступ на чтение http://php.net/manual/en/function.is-readable.php
-
где вы видели плавающий блок заказа? В шаблонных магазинах он заслоняет все на свете и ни туды ни сюды
Если блок не вмещается на экране полностью (положил в корзину 13 дисков), то любой клик или активизация полей ввода приводит к сворачиванию блока.
Как по мне, ОЧ большой минус, что магазин полностью работает на JS. Если каталог будет ОЧ большой, то его полная "загрузка в браузер" в виде JS объектов может вылезти боком.
Главное сеошникам не показывайте этот магазин.
-
Если "вытащить" блок с корзиной мышкой - кнопка свернуть не появляется. Появится только при клике на пиктограмме корзины.
Помогите составить запрос - нужно сравнивать соседние записи
in Database
Posted
Это не совсем запрос. Но как вариант рассматривать можно.