- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Возник вопрос по поводу разбивки на страницы спарсенных из xml данных.
Знаю что общее количество выводимых элементов можно получить так:
И например положить в переменную желаемое количество элементов, которые будут выводится на одной странице.
А вот что с ними делать дальше ума не приложу. Смотрел как реализовано в cms, но для меня это слишком сложный код. Понимаю, что за меня писать никто не будет. Подскажите псевдокодом или может быть есть какая нибудь хитрая функция заточеная под эту задачу.
$i=0;
foreach ($xml->folder->file as $item) {
if ($i > $maxLineOnPage)
break;
echo "<tr>";
echo "<td>", $item->link, "</td>";
echo "<td>", $item->size, "</td>";
echo "</tr>";
$i++;
}
Ну если коротко:
1. Запрашиваем общее количество записей
2. Определяем кол-во записей на одну страницу.
3. Определяем кол-во страниц. Оно равно частному от деления общего кол-ва записей на кол-во записей на одну страницу.
4. Определяем запись, с которой будем выводить данные.
5. Запрашиваем данные начиная от числа, определённого в п.4 заканчивая числом, определённым в п.2.
6. Выводим пагинацию.
Дополнительные меры безопасности:
1. Под указателем страниц будем понимать некий GET-параметр. Пусть $_GET['page'].
2. Если этот параметр меньше первой страницы, устанавливаем в 1.
3. Если этот параметр больше последней страницы, устанавливаем в число, равное последней странице.
$i=0;
foreach ($xml->folder->file as $item) {
if ($i > $maxLineOnPage)
break;
echo "<tr>";
echo "<td>", $item->link, "</td>";
echo "<td>", $item->size, "</td>";
echo "</tr>";
$i++;
}
Это я как понял выполнение скрипта прервётся когда $i станет больше $maxLineOnPage? А как выводить остальные элементы на следующей странице, которые остались в xml?
Это я как понял выполнение скрипта прервётся когда $i станет больше $maxLineOnPage? А как выводить остальные элементы на следующей странице, которые остались в xml?
Надо выводить список страниц со ссылками, я об этом написал в своём посте.
Ну если коротко:
1. Запрашиваем общее количество записей
2. Определяем кол-во записей на одну страницу.
3. Определяем кол-во страниц. Оно равно частному от деления общего кол-ва записей на кол-во записей на одну страницу.
4. Определяем запись, с которой будем выводить данные.
5. Запрашиваем данные начиная от числа, определённого в п.4 заканчивая числом, определённым в п.2.
6. Выводим пагинацию.
Дополнительные меры безопасности:
1. Под указателем страниц будем понимать некий GET-параметр. Пусть $_GET['page'].
2. Если этот параметр меньше первой страницы, устанавливаем в 1.
3. Если этот параметр больше последней страницы, устанавливаем в число, равное последней странице.
Спасибо, то что нужно. Ушел читать про GET/POST
Появился вопрос, создавать новую тему не буду, спрошу здесь.
Заметил, что если xml документ большого объема, то долго подгружается страничка, так как он полностью грузится в оперативку. Если например документ ~20 мб, то это очень ощутимые тормоза.
Так вот вопрос:
Например если 10 пользователей одновременно заходят на страницу, то как сервер на это будет реагировать?
Получается он загрузит в оперативку: 200 мб = 10 (кол-во пользователей) * 20 мб (вес документа)
или он посмотрит, что есть уже в памяти один экземпляр и будет считывать его?
Блин, надеюсь понятно выразился :)
А что мешает провести тест на локалке?
Создаем страницу, которая будет грузить этот самый файл, в конце ставим sleep(60) - прекратить выполнение кода на минуту. Открываем 10 раз эту страницу и смотрим на загрузку оперативки.
А что мешает провести тест на локалке?
Создаем страницу, которая будет грузить этот самый файл, в конце ставим sleep(60) - прекратить выполнение кода на минуту. Открываем 10 раз эту страницу и смотрим на загрузку оперативки.
Спс за совет. 10 раз это десять вкладок в браузере?
Появился вопрос, создавать новую тему не буду, спрошу здесь.
Заметил, что если xml документ большого объема, то долго подгружается страничка, так как он полностью грузится в оперативку. Если например документ ~20 мб, то это очень ощутимые тормоза.
Так вот вопрос:
Например если 10 пользователей одновременно заходят на страницу, то как сервер на это будет реагировать?
Получается он загрузит в оперативку: 200 мб = 10 (кол-во пользователей) * 20 мб (вес документа)
или он посмотрит, что есть уже в памяти один экземпляр и будет считывать его?
Блин, надеюсь понятно выразился :)
Сервер для каждого нового посетителя обрабатывает из нового документа xml ? Если нет, то нагрузка с увеличением посетителей будет только на канал хостера, а в остальном как обычно.
Кому интересно:
Подгружал в 10 вкладок файл размером 30,5 МБ этим скриптом
Перед выполнением занятой памяти было 2.74 ГБ
После стало 3.09 ГБ
Получается 0.35 ГБ скушало памяти, и проц тоже грузится прилично 20-25% (у меня core i3)
И ещё апач ошибку выкинул: