Gori |
Отправлено: 13 декабря 2017 — 07:28 • Тема: Отзыв о хостинге ISPserver.RU • Форум: Хостинг |
Ответов: 0 Просмотров: 0
|
Сразу скажу, что возможно это моё субъективное мнение и кому-то повезёт больше. Мне не повезло.
Вначале коротко моё мнение о работе хостинга ISPserver.RU.
Первое что поражает, это быстрый ответ техподдержки. Отвечают быстро. Однако после долгого общения с нею, понимаешь, что в ней находятся далеко не профессионалы, а штат ребят, которые часто сами не знают как правильно делать или делают методом тыка и экспериментов. И всё это в этот момент отображается на твоих сайтах в виде каких-то сообщений об ошибке, которые видят все твои посетители. И то, что они быстро отвечают, в моём случае было даже минусом. Порой за день мне отвечали совершенно разные люди. И если задавать несколько вопросов о какой-то возникшей проблеме, то часть этих вопросов может быть просто пропущена. Но ты то думаешь, что проблемы решаются. А они просто пропущены или забыты, т.к. нет согласованности в работе саппорта!
Я бы лучше предпочёл, чтобы мне отвечали раз в сутки, но люди реальные профессионалы, а не люди для массовки, которые делают вид, что у них самая быстрая техподдержка.
Больше всего вызвало раздражение, когда эти ребята быстро отвечали в рабочие дни, но вдруг перестали вообще отвечать в выходные. Хотя заявлено на сайте компании, что работают они ежедневно и круглосуточно. Когда я спросил у них в чате (у них даже чат на сайте есть!) почему мне вдруг саппорт перестал отвечать в выходные, был феноменальный ответ: "Вся команда занята, вам непременно помогут, как только освободятся. Не переживайте, всё хорошо".
Но, о чудо, как только наступило утро понедельника, мне снова стали отвечать шустро и быстро, как это было до выходных. Что это? Обман? Решайте сами.
Итак, быстрая техподдержка на ISPserver.RU - это больше рекламный ход. Лучше решать вопросы с хостингом, где штат саппорта меньше, но там хоть решают проблемы профессионалы и опытные люди. В выходные они также отдыхают, но у них это называется - "команда пока занята, как освободятся, то вам помогут".
Как в процессе выясняется, база данных у них имеет лимит. Это 1000 Mb. Т.е. у вас допустим есть форум или сайт, работающие на базе данных MySQL. Вы переезжаете на хостинг ISPserver.RU с другого хостинга (что часто не просто) и через месяц ваша база данных вырастает (разумеется, сайт то растёт), и перестаёт вписываться в лимит этого хостинга. Вам вежливо говорят, что вы превысили наш лимит. И вам рекомендуется купить Сервер. Что значительно дороже. На сервере уже таких лимитов нет.
Конечно, пользователь должен сам вначале узнать про лимиты. Но многие ли из вас могут подозревать что кому-то придёт в голову ставить лимит на базу данных? Лично я такой подвох не ожидал. Мне предложили купить у них Сервер, т.к. на Хостинг мои сайты не могут поместиться, т.к. база данных больше 1000 Mb.
Разумеется большинство пользователей купят более дорогой тариф, когда им сообщат, что они превысили лимит, не желая таскаться со своими базами данных по другим хостингам.
Приведу личные примеры.
Саппорт ISPserver.RU, как и было заявлено на их сайте, перенёс мои сайты на свой сервер. Сразу скажу всё сразу не заработало. Я начал свой долгий и упорный диалог с саппортом, который длился несколько дней. В конце которого я решил уйти от них, т.к. понял, что проблемы не решаются, что проблемы с неработающими сайтами решают какие-то дилетанты. Одно сделают - другое ломается.
Больше всего повергло в негодование то, что я уже сам начал подсказывать как решить проблему (т.е. немного я всё же разбираюсь в базах данных). Проблема заключалась в том, что на моих сайтах в текстах есть спецсиволы. Думаю знаете, что это такое: идёт русский текст и потом например слово на санскрите, арабском, японском. Это спецсимволы. Часто такое можно встретить Википедии. Так вот, через день я случайно обнаружил, что базы данных саппорт ISPserver.RU перенёс неправильно, в какой-то не той кодировке, и вместо всех этих символов (на всех моих сайта) теперь вопросики, т.е. поломан весь мой контент.
Ок. Пишу этим ребятам, мол ПРОБЛЕМА. Вопросики вместо спецсимволов. Скорей решайте.
При этом на моих сайтах и форумах уже идут диалоги, контент растёт. И проблема в том, что если снова перезагружать базы данных на сайтах, то весь этот новый контент потеряется. Поэтому я спешу. Я хочу чтобы проблема была решена как можно быстрее.
И что я вижу. Саппорт потерял этот мой запрос о проблеме. Возится с чем-то другим, т.к. я писал ещё о других проблемах.
И тут ещё наступили выходные. Саппорт вообще исчез. В понедельник (когда прошло уже несколько дней, и разумеется на моих форумах уже велось активное общение, т.е. новый контент, а также уже зарегистрировались новые пользователи) саппорт ISPserver.RU мне сообщает, что он решили проблему! Они перезалили базу данных, но к сожалению все сообщения этих дней потеряны. Ну, спасибо, ребята! Спасли просто. Потеряли мой новый контент и новых пользователей. Так переносить базы данных и я сам могу. Хотя мои познания здесь ниже плинтуса.
После этого я решил уйти от них. Переписал DNS на другой хостинг. Заявил им об этом, а также о том чтобы вернули мне деньги, т.к. не смогли перенести мои сайты на свой хостинг с другого хостинга. Деньги мне вернули (при этом написали, что они этого обычно не делают, но "для вас сделали исключение", ну спасибо!), все мои сайты со своего сервера удалили.
И тут начался последний подарок от этого хостинга. На всех моих сайтах появилась их заглушка. На этой заглушке было написано красным цветом перейти на их хостинг и то, какой надёжный этот хостинг. Я опять спешу к Администрации хостинга ISPserver.RU, требую убрать эту заглушку, которую видят посетители моих сайтов (а это 20 000 уникальных посетителей), на что они мне долго отвечают, что это наша заглушка, через 72 часа исчезнет, как только кэш обновится. как только DNS сменятся. Ну спасибо, прорекламировали еще и свой хостинг на моих сайтах в добавок.
Мой вывод:
Хостинг ISPserver.RU однозначно подходит для простых сайтов, для лендингов, для сайтов на Html. Но вам ничего не гарантируется, если у вас сайт на Базе данных. Как повезёт.
Чтобы связываться с данным хостингом вы должны обладать интуицией, чтобы предвидеть какой-нибудь подвох в виде появившейся заглушки-рекламы, которая появится на всех страницах вашего сайта и при этом саппорт будет делать вид, что всё хорошо, что вам нужно просто подождать. Или могут базу данных перенести так, что вы заметите какую-то проблему (как у меня со спецсимволами) с кодировкой или поломанным контентом, но будет уже поздно, т.к. у вас уже появилось множество сообщений на сайте, и откатывать назад уже поздно.
Не всегда вежливый и быстрый саппорт - это хорошо. |
Gori |
Отправлено: 7 августа 2017 — 15:47 • Тема: Как сделать массив по порядку? • Форум: PHP/Perl |
Ответов: 2 Просмотров: 0
|
Есть перебор файлов директории:
CODE:if ($handle = opendir('./papka')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$files[] = $file; } }
closedir($handle); }
При выводе массива:
print_r($files);
Выдаёт это:
CODE:Array
(
[0] => 1.htm
[1] => 10.htm
[2] => 11.htm
[3] => 12.htm
[4] => 13.htm
[5] => 14.htm
[6] => 15.htm
[7] => 16.htm
[8] => 17.htm
[9] => 18.htm
[10] => 19.htm
[11] => 2.htm
[12] => 20.htm
[13] => 21.htm
[14] => 22.htm
[15] => 23.htm
[16] => 24.htm
[17] => 25.htm
[18] => 26.htm
[19] => 27.htm
[20] => 28.htm
[21] => 29.htm
[22] => 3.htm
)
Т.е. после 1 следует 10.
После 19 следует 2.
Как упорядочить, чтобы был обычный порядок?
После 1 следовало 2, а не 10? |
Gori |
Отправлено: 16 января 2017 — 11:06 • Тема: Организация мобильной версии сайта • Форум: PHP/Perl |
Ответов: 12 Просмотров: 0
|
Отзыв об этом скрипте:
Очень часто при разработке веб-приложений возникает необходимость определения браузера клиента, для того, чтобы показать ему тот или иной контент или изменить логику поведения веб-приложения. Оригинал статьи расположен здесь. Demo здесь.
Для определения мобильного устройства используются регулярные выражения (preg_match) PHP, этот подход сохранился и по сей день.
Скрипт для определения мобильного браузера клиента, будь то планшет или мобильный телефон, работает путем сопоставления строк User-Agent ($_SERVER['HTTP_USER_AGENT']) мобильных устройств с использованием регулярных выражений. Но, стоит отметить, что такой подход не дает высокой степени обнаружения модели мобильного устройства, определяется только тип устройства — телефон или планшет, это видно из параметров регулярного выражения и элементов массивов.
Так же использование такого подхода может не подойти для высоко нагруженных веб-приложений, preg_match выполняется долго... Скрипт может не распознавать некоторые планшеты Android, которые сделан в Китае на Малой Арнаутской)
Стоит понимать, что этот скрипт нуждается в постоянном обновлении списка новых устройств. |
Gori |
Отправлено: 16 января 2017 — 08:51 • Тема: Организация мобильной версии сайта • Форум: PHP/Perl |
Ответов: 12 Просмотров: 0
|
electron ,
как вы думаете, это хороший скрипт?
CODE:<?php
$tablet_browser = 0;
$mobile_browser = 0;
if (preg_match('/(tablet|ipad|playbook)|(android(?!.*(mobi|opera mini)))/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
$tablet_browser++;
}
if (preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|android|iemobile)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
$mobile_browser++;
}
if ((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml') > 0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
$mobile_browser++;
}
$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'], 0, 4));
$mobile_agents = array(
'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','palm','pana','pant','phil','play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
'wapr','webc','winw','winw','xda ','xda-');
if (in_array($mobile_ua,$mobile_agents)) {
$mobile_browser++;
}
if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'opera mini') > 0) {
$mobile_browser++;
//Check for tablets on opera mini alternative headers
$stock_ua = strtolower(isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])?$_SERVER['HTTP_X_OPERAMINI_PHONE_UA']:(isset($_SERVER['HTTP_DEVICE_STOCK_UA'])?$_SERVER['HTTP_DEVICE_STOCK_UA']:''));
if (preg_match('/(tablet|ipad|playbook)|(android(?!.*mobile))/i', $stock_ua)) {
$tablet_browser++;
}
}
if ($tablet_browser > 0) {
// do something for tablet devices
print 'is tablet';
}
else if ($mobile_browser > 0) {
// do something for mobile devices
print 'is mobile';
}
else {
// do something for everything else
print 'is desktop';
}
?> |
Gori |
Отправлено: 15 января 2017 — 08:40 • Тема: Организация мобильной версии сайта • Форум: PHP/Perl |
Ответов: 12 Просмотров: 0
|
electron пишет:надо разбираться почему не определяет. на exbb.info/community если зайти определяет моб.версию?
Да, определяется.
Странно.
А можно ваш скрипт?
И как его приделать к такому варианту:
Есть текст "Текст 1".
Его нужно показывать для PC.
Есть текст "Текст 2".
Его нужно показывать для мобильных устройств.
Как сделать так. |
Gori |
Отправлено: 13 января 2017 — 17:23 • Тема: Почему переворачивает картинку на 90 градусов? • Форум: PHP/Perl |
Ответов: 2 Просмотров: 0
|
CODE:<?php
$dir = 'uploads/'; // Папка с изображениями
$cols = 3; // Количество столбцов в будущей таблице с картинками
$files = scandir($dir); // Берём всё содержимое директории
echo "<center><table>"; // Начинаем таблицу
$k = 0; // Вспомогательный счётчик для перехода на новые строки
for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы
if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем
if ($k % $cols == 0) echo "<tr>"; // Добавляем новую строку
echo "<td>"; // Начинаем столбец
$path = $dir.$files[$i]; // Получаем путь к картинке
echo "<a href='$path' target='_blank'>"; // Делаем ссылку на картинку
echo "<img src='$path' alt='' width='300' />"; // Вывод превью картинки
echo "</a>"; // Закрываем ссылку
echo "</td>"; // Закрываем столбец
/* Закрываем строку, если необходимое количество было выведено, либо данная итерация последняя */
if ((($k + 1) % $cols == 0) || (($i + 1) == count($files))) echo "</tr>";
$k++; // Увеличиваем вспомогательный счётчик
}
}
echo "</table></center><br>"; // Закрываем таблицу
?>
Почему-то некоторые картинки переворачиват на 90 градусов влево.
А некоторые нормально.
Т.е. когда открываюв браузере увеличенную ккартинку, то она нормлаьная, когда при помощи этого скрипта, то она переворачивается налево. |
Gori |
Отправлено: 3 января 2017 — 10:21 • Тема: Организация мобильной версии сайта • Форум: PHP/Perl |
Ответов: 12 Просмотров: 0
|
electron , ясно.
Пока планирую делать просто в дирректории типа: mobile/
Читал, что иначе придётся раскручивать субдомен m.
Т.к. это вроде уже другой сайт будет. Так пишут в статьях. Точно не знаю.
А вот именно способ переадресовки на другой каталог или субдомен, какой лучше выбрать? По юзерагенту у меня не определяет. |
Gori |
Отправлено: 2 января 2017 — 14:52 • Тема: Организация мобильной версии сайта • Форум: PHP/Perl |
Ответов: 12 Просмотров: 0
|
Кстати варинт по юзерагенту тестил на своём смартфоне, не работате. В интернете множество вариантов на Php, ни один у меня не работает. |
Gori |
Отправлено: 2 января 2017 — 14:21 • Тема: Организация мобильной версии сайта • Форум: PHP/Perl |
Ответов: 12 Просмотров: 0
|
Всё больше людей переходят на мобильный интернет... и т.д. и т.п.
Вот решил сделать себе тоже мобильную версию. Т.к. терять посетителей ни с гугла ни с яндекса не охота.
Адоптивный вариант отверг, т.к. это костыли. По крайней мере такое мнение сложилось при просмотре разных статей на эту тему.
Хочу спросить как лучше всё же делать? Каким направлением идти?
Вот например есть по юзер агенту в .htaccess:
CODE:RewriteCond %{HTTP_USER_AGENT} (?i:midp|samsung|nokia|j2me|avant|docomo|novarra|palmos|palmsource|opwv|chtml|pda|mmp|blackberry|mib|symbian|wireless|nokia|hand|mobi|phone|cdm|upb|audio|SIE|SEC|samsung|HTC|mot-|mitsu|sagem|sony|alcatel|lg|eric|vx|NEC|philips|mmm|xx|panasonic|sharp|wap|sch|rover|pocket|benq|java|pt|pg|vox|amoi|bird|compal|kg|voda|sany|kdd|dbt|sendo|sgh|gradi|jb|dddi|moto|iphone|android)
RewriteRule ^([^mobile]*?)page/?$ http://site.ru/mobile-page/ [R=301,L]
Но он далёк от совершенства. Многое будет пропущено.
Похоже на PHP не лучше:
CODE:<?php
$uagent=$_SERVER['HTTP_USER_AGENT'];
if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$uagent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($uagent,0,4)))
header('location: http://site.ru/mobile/');
?>
Идеально работает:
CODE:<script type='text/javascript'>
if(window.innerWidth<600)
location.href='http://site.ru/mobile/';
</script>
Но тоже сомнительно.
Как лучше? Как профессионалы делают? |
|