|
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Заметки - Блог о web-разработке. Сервисы для блоггеров. Блоговое/Записи в блоге |
![]() |
Заметки - Блог о web-разработке. Сервисы для блоггеров. Блоговое
Голосов: 1 Адрес блога: http://www.blogovoe.ru/blog/ Добавлен: 2013-12-27 23:28:54 блограйдером panevin |
Рестарт php-скрипта
2016-09-27 11:54:12 (читать в оригинале)Задача:
Стандартная «засада» — лимит на выполнение php-скрипта на сервере 30 секунд. Хорошо, если у вас есть возможность это значение увеличить (в панели хостера или в конфиге php.ini, или в самом скрипте прописать:
set_time_limit(0);
ini_set('max_execution_time', '3600');
). А если нет? Приехали. Приходится выдумывать костыли и велосипеды.
Решение:
перезапускать php-скрипт яваскриптом. Например так:
function getdata(id) {
var lnk = '/scripts/import_test.php';
$.post(lnk, { id: id }, function(data) {
$("#main").append(data.res + '
');
var idcur = parseInt(data.id);
if (idcur < 10) {
getdata(data.id);//restart current function (recursion)
}
else {
$("#main").append('fin---
');//finish!
}
}, "json");
}
$(document).ready(
$(function() {
var lnk = '/scripts/import_test.php';//first iteration
var id_current = 1;
getdata(id_current);
}));
PHPшная часть:
$id = $_REQUEST['id'];
/*
something operations
*/
$id++;
$out = $id.' - ok';//debug variable
$array = array("id" => $id, "res" => $out);
echo json_encode($array);
exit;
Т.е. всё по-педальному просто: яваскрипт 9 раз (от 1 до 10) вызывает php-скрипт, а php при каждом обращении увеличивает счётчик.
Есть и другие решения, например редиректить на тот же самый скрипт, меняя счётчик в урле: import_test.php?id=2 (след. итерация id=3 и т.д.), но современные браузеры такую хитрожопость стали пресекать и редирект блокируется итерации на десятой, поэтому и было придумано вышеописанное решение.
Рабочий пример
YouTube: советы по монетизации видео
2016-09-26 12:11:19 (читать в оригинале)В дополнение к заметке монетизация видео на YouTube.
Для того, чтобы зарабатывать на видео на Ютубе, перво-наперво надо создать аккаунт в AdSense и связать с аккаунтом на YouTube — это очевидно. При добавлении видео не забываем включить монетизацию, а лучше сделать эту опцию включенной по-умолчанию (при добавлении ролика во вкладке «монетизация» поставить соответствующую галочку). Это так же очевидно.
А вот неочевидное:
- ролик должен быть длиннее 15 секунд, т.к. реклама внутри ролика появляется только спустя такое время.
- Ну и вроде как понятное: стоит уделять время названию, описанию и тегам (меткам).
- Название должно быть заметным и привлекательным.
- Описание непременно должно быть понятным и наиболее полным,
- ну а теги — чётко отражающими что на видео, желательно максимально общими словами: девушки, юмор, танцы, песни и т.п.
Вот и всё! Минимально-необходимые слагаемые успеха :) Даже если у вас нет подписчиков, а по-первоначалу у вашего канала их и быть не может, то благодаря внятному описанию и точным тегам ваш ролик будет успешно искаться и показываться рядом с подобными видео других авторов.
Удачи в заработке на видео! И море денег :D
Масштабирование картинок на лету под адаптив
2016-09-21 23:34:48 (читать в оригинале)Приехала тут антересная задачка: верстальщик навернул на сайте адаптив, а по пожеланию заказчика сделал масштабирование превьюшек CSS`ом. Превьюшки, соответственно, стали превращаться в говно при масштабировании в 150%, а в 201,5% в полное.
Прочитал нотацию верстальщику, да делать-то нечего — надо как-то выкручиваться.
Введение
Превьюшки на десктопном разрешении 100 и 105 точек по ширине. Максимально масштабируются до 370. Я решил наваять чукотский трюк: программно нарезаются картинки с шагом в 20 точек (105, 125, 145 и т.д.), а яваскрипт подменяет src превьюшки в зависимости от отображаемой ширины. Т.е. если на разрешении 360 точек стилями превьюшка увеличена до 340 точек, то хорошо будет смотреться картинка 345 по ширине с обрезанными сторонами (тут верстальщик мне подсобил и масштабирование картинок заменил масштабированием внешнего слоя с overflow:hidden внутри которого картинка с родным размером, чтобы не билось качество).
Итак, понеслось. Писал под 1С-Битрикс, но без проблем переделывается под любую программную часть, главная идея: программное масштабирование с шагом в 20 пикселей, но подгрузка картинок только по необходимости, только на конкретных разрешениях и при масштабировании.
Нарежем картинки и пихнём в HTML:
$file = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"]['ID'], array ('width' => 225,
'height' => 150
), BX_RESIZE_IMAGE_EXACT, TRUE);
$file_max = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"]['ID'], array ('width' => 270,'height' => 180), BX_RESIZE_IMAGE_EXACT, TRUE);
unset($add_html);
$start_width = 105;
$start_height = 70;
$end_width = 370;
$c = 0;
$c2 = 0;
for ($i = $start_width;$i < $end_width;$i+=20) {
$nwidth = $i;
$nheight = ($nwidth / $start_width) * $start_height;
$c2 += 20;
$file_c = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"]['ID'], array ('width' => $nwidth,'height' => $nheight), BX_RESIZE_IMAGE_EXACT, TRUE);
$add_html .= ' data-img'.$c.'="'.$file_c['src'].'"';
$add_html .= ' data-imgWidth'.$c.'="'.$file_c['width'].'"';
$add_html .= ' data-imgHeight'.$c.'="'.$file_c['height'].'"';
$c++;
}
+ HTML:
<div class="image">
<a href="<?= $arItem["DETAIL_PAGE_URL"] ?>" title="<?= $arItem["NAME"] ?>"><img
src="<?= $file["src"] ?>"
alt="<?= $arItem["NAME"] ?>"
title="<?= $arItem["NAME"] ?>" <?=$add_html; ?> /></a>
</div>
А яваскрипт уже отслеживает какая ширина блока с картинкой стала на данном разрешении, и подгрузит нужную превьюшку.
jQuery(document).ready(function() {
if ($('.block_footer_photo_stream').html()) resizeImgs('block_footer_photo_stream',100);
if ($('.projlist').html()) resizeImgs('projlist',105);
if ($('.photolist').html()) resizeImgs('photolist',100);
jQuery(window).resize(function() {
if ($('.block_footer_photo_stream').html()) resizeImgs('block_footer_photo_stream',100);
if ($('.projlist').html()) {
resizeImgs('projlist',105);
//alert('resize');
}
if ($('.photolist').html()) resizeImgs('photolist',100);
});
});
function resizeImgs(cclass,step) {
var cBlock = $('.' + cclass);
var cImg = $('.' + cclass).find('a');
if (!cImg.width() || cImg.width() <= 0) cImg = $('.' + cclass + ' .image');
var imgToShow = (cImg.width() - step) / 20;
imgToShow = Math.round(imgToShow);
cBlock.find('img').each(function(e){
if ($(this).data('img' + imgToShow)) {
$(this).attr('src', $(this).data('img' + imgToShow));
$(this).attr('width', $(this).data('imgWidth' + imgToShow));
$(this).attr('height',$(this).data('imgHeight' + imgToShow));
// alert($(this).data('img' + imgToShow) + ' - ' + $(this).data('imgWidth' + imgToShow) + ' - ' + imgToShow);return false;
}
});
}
Вуаля!
Живой пример: http://www.stalform.ru/.
Описал как смог, сорян :) Задавайте вопросы в комменты, постараюсь помочь (задачи у всех разные, тут особый случай, хотя распростанённый)
Масштабирование картинок на лету под адаптив
2016-09-21 23:34:48 (читать в оригинале)Приехала тут антересная задачка: верстальщик навернул на сайте адаптив, а по пожеланию заказчика сделал масштабирование превьюшек CSS`ом. Превьюшки, соответственно, стали превращаться в говно при масштабировании в 150%, а в 201,5% в полное.
Прочитал нотацию верстальщику, да делать-то нечего — надо как-то выкручиваться.
Введение
Превьюшки на десктопном разрешении 100 и 105 точек по ширине. Максимально масштабируются до 370. Я решил наваять чукотский трюк: программно нарезаются картинки с шагом в 20 точек (105, 125, 145 и т.д.), а яваскрипт подменяет src превьюшки в зависимости от отображаемой ширины. Т.е. если на разрешении 360 точек стилями превьюшка увеличена до 340 точек, то хорошо будет смотреться картинка 345 по ширине с обрезанными сторонами (тут верстальщик мне подсобил и масштабирование картинок заменил масштабированием внешнего слоя с overflow:hidden внутри которого картинка с родным размером, чтобы не билось качество).
Итак, понеслось. Писал под 1С-Битрикс, но без проблем переделывается под любую программную часть, главная идея: программное масштабирование с шагом в 20 пикселей, но подгрузка картинок только по необходимости, только на конкретных разрешениях и при масштабировании.
Нарежем картинки и пихнём в HTML:
$file = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"]['ID'], array ('width' => 225,
'height' => 150
), BX_RESIZE_IMAGE_EXACT, TRUE);
$file_max = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"]['ID'], array ('width' => 270,'height' => 180), BX_RESIZE_IMAGE_EXACT, TRUE);
unset($add_html);
$start_width = 105;
$start_height = 70;
$end_width = 370;
$c = 0;
$c2 = 0;
for ($i = $start_width;$i < $end_width;$i+=20) {
$nwidth = $i;
$nheight = ($nwidth / $start_width) * $start_height;
$c2 += 20;
$file_c = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"]['ID'], array ('width' => $nwidth,'height' => $nheight), BX_RESIZE_IMAGE_EXACT, TRUE);
$add_html .= ' data-img'.$c.'="'.$file_c['src'].'"';
$add_html .= ' data-imgWidth'.$c.'="'.$file_c['width'].'"';
$add_html .= ' data-imgHeight'.$c.'="'.$file_c['height'].'"';
$c++;
}
+ HTML:
<div class="image">
<a href="<?= $arItem["DETAIL_PAGE_URL"] ?>" title="<?= $arItem["NAME"] ?>"><img
src="<?= $file["src"] ?>"
alt="<?= $arItem["NAME"] ?>"
title="<?= $arItem["NAME"] ?>" <?=$add_html; ?> /></a>
</div>
А яваскрипт уже отслеживает какая ширина блока с картинкой стала на данном разрешении, и подгрузит нужную превьюшку.
jQuery(document).ready(function() {
if ($('.block_footer_photo_stream').html()) resizeImgs('block_footer_photo_stream',100);
if ($('.projlist').html()) resizeImgs('projlist',105);
if ($('.photolist').html()) resizeImgs('photolist',100);
jQuery(window).resize(function() {
if ($('.block_footer_photo_stream').html()) resizeImgs('block_footer_photo_stream',100);
if ($('.projlist').html()) {
resizeImgs('projlist',105);
//alert('resize');
}
if ($('.photolist').html()) resizeImgs('photolist',100);
});
});
function resizeImgs(cclass,step) {
var cBlock = $('.' + cclass);
var cImg = $('.' + cclass).find('a');
if (!cImg.width() || cImg.width() <= 0) cImg = $('.' + cclass + ' .image');
var imgToShow = (cImg.width() - step) / 20;
imgToShow = Math.round(imgToShow);
cBlock.find('img').each(function(e){
if ($(this).data('img' + imgToShow)) {
$(this).attr('src', $(this).data('img' + imgToShow));
$(this).attr('width', $(this).data('imgWidth' + imgToShow));
$(this).attr('height',$(this).data('imgHeight' + imgToShow));
// alert($(this).data('img' + imgToShow) + ' - ' + $(this).data('imgWidth' + imgToShow) + ' - ' + imgToShow);return false;
}
});
}
Вуаля!
Живой пример: http://www.stalform.ru/.
Описал как смог, сорян :) Задавайте вопросы в комменты, постараюсь помочь (задачи у всех разные, тут особый случай, хотя распростанённый)
YouTube: монетизация видео
2016-09-01 12:16:58 (читать в оригинале)Продолжительное время мне не давал покоя феномен украинского журналиста Анатолия Шария, после того как он обмолвился о своём заработке с видео на Ютубе — 20 000 € в месяц (двадцать тысяч евро в месяц! пересчитайте в наши тугрики, прослезитесь). Ну, то, конечно, недостижимая планка, у Шария > 200 000 просмотров роликов, а ролики он штампует пачками в день. Но мы попробуем, что нам, кабанам.
Делаем ролик. Не умеем делать? Спиздим чужое.
Главное авторские права не нарушать, а тут и видео удачное — во-первых оно на Вимео, есть слабая надежда, что его нет на YouTube (оказалось что уже есть, ну да ладно), во-вторых я же фактически рекламирую эту яхту, размещая ролик.
Затем включаем монетизацию роликов и связываем аккаунт на YouTube с аккаунтом в AdSense. Идём в Канал—>Монетизация
{IMG_2 alt="YouTube: монетизация видео, связь с AdSense"}
В настройках видео во вкладке Монетизация включаем её. Пол дела сделано.
Нам нужны тысячи просмотров, иначе овчинка выделки не стоит. Если у вас есть посещаемый сайт нужной тематики, проблем нет. У меня такого сайта под рукой не оказалось, я решил запилить псто на Яплакал (как раз нужная аудитория и суперпосещаемый форум). Мне повезло и псто набрал вожделенные 50 плюсов и попал на глагне :) Вуаля! > 8 000 просмотров за 2 дня. А дня через 3 раздуплится статистика Ютуба и покажет мне сколько я заработал.
Обн:
{IMG_3 alt="YouTube: монетизация видео, связь с AdSense. Доход на 100 показов"}
Т.е. доход на 1000 просмотров видею YouTube такой:
первый ролик — 0.09 $
второй ролик — 0.08 $
Категория «Авто/Мото»
Взлеты Топ 5
|
| ||
|
+265 |
299 |
MicheL1102 |
|
+238 |
257 |
Темы_дня |
|
+230 |
258 |
Bisdiv.com |
|
+220 |
259 |
Дневник |
|
+177 |
284 |
Пофигист |
Падения Топ 5
|
| ||
|
-2 |
149 |
Журнал пользователя alexfox2011@mail.ru |
|
-4 |
147 |
Auto Motive Group Ltd. |
|
-6 |
240 |
Kia K3 | Cerato - Forte |
|
-8 |
119 |
News Formula 1 |
|
-10 |
135 |
BMW-guide |
Популярные за сутки
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.

