Перейти к содержимому


Пользователь месяца
TimurR TimurR 1-й за Август
Очков активности: 726 3 темы, 35 сообщений, 11 баллов репутации
ТОП самых активных за этот месяц
  • Фотография ShowPrint
    #1

    ShowPrint (ShowPrint.ru)
    Очков активности: 207 2 темы, 17 сообщений, 6 баллов репутации

  • Фотография Ixman
    #2

    Ixman (o5cat.ru)
    Очков активности: 90 0 тем, 10 сообщений, 6 баллов репутации

  • Фотография WGN
    #3

    WGN (worldgamenews.com)
    Очков активности: 72 Вне конкурса за определение пользователя месяца

  • Фотография magnet
    #4

    magnet (rbfxdirect.com)
    Очков активности: 67.5 Вне конкурса за определение пользователя месяца

  • Фотография BLIK
    #5

    BLIK
    Очков активности: 33 Вне конкурса за определение пользователя месяца

  • Фотография Developer
    #6

    Developer
    Очков активности: 33 2 темы, 16 сообщений, 1 балл репутации

  • Фотография AnnaYa
    #7

    AnnaYa (topbase.ru)
    Очков активности: 33 2 темы, 5 сообщений, 2 балла репутации

  • Фотография Алексей111
    #8

    Алексей111
    Очков активности: 28.5 5 тем, 4 сообщения, 1 балл репутации

  • Фотография TimurR
    #9

    TimurR
    Очков активности: 27 Вне конкурса за определение пользователя месяца

  • Фотография fedornabilkin
    #10

    fedornabilkin (zaka4ano.ru)
    Очков активности: 24 0 тем, 4 сообщения, 4 балла репутации

  • Показать весь ТОП 10

Kwork.ru - услуги фрилансеров от 500 руб.

Поддержите форум! =)
Апдейты
  • Яндекс тИЦ: 19.11.2017
  • Яндекс выдача: 22.09.2018
Топ 5 участников по репутации


Графический таймер обратного отсчета на PHP не работает

#1 Daffy

Daffy
  • Пользователь
  • 26 сообщений
  • Репутация: 1
0

Отправлено 06 November 2017 - 18:20

Здравствуйте! 

 

На сайте автора скрипта, сам скрипт работает корректно, а у меня не отображает числа, пробовал на разных хостингах.

 

ниже пример работы скрипта:

 

date-31-12-2017.jpg

 

Код самого скрипта

<?php
	date_default_timezone_set('Europe/Moscow');
	//header('refresh:1;url='.$_SERVER['HTTP REFERER']);
	header("Content-type: text/html; charset=utf-8");
	// Запрет кэширования
	header('Expires: Mon, 11 Jul 1991 03:00:00 GMT');
	header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
	header('Cache-Control: no-cache, must-revalidate');
	header('Pragma: no-cache');
	error_reporting(0);
	$image = isset($_GET['image']) ? stripslashes(strip_tags($_GET['image'])) : '';
	// установка отсчета на конкретный период времени
	if ($image == 'seodor-sale') { // http://www.sanchez.com.ua/images/timer/seodor-sale.jpg
		$start = $image.'.txt';
		if (!file_exists($start)) {
			$fp = fopen ($start,"w");
			fwrite($fp, time());
			fclose ($fp);
		}	
		$filemtime = filemtime($start) +60*60*24*7;// 7 дней
	}
	else if (preg_match("~^date[\-|_]([0-9]{1,2})[\-|_]([0-9]{1,2})[\-|_]([0-9]{4})(?:_([0-9]{1,2})[\-|_]([0-9]{1,2}))?$~", $image, $m)) {
	$h = $m[4] ? $m[4] : 0;
	$mi = $m[5] ? $m[5] : 0;
		$filemtime = mktime($h,$mi, 0, $m[2], $m[1], $m[3]);
	} else $image = '';
	if (empty($image)) die;
	function declOfNum($number, $titles) { // функция склонения
		$cases = array(2, 0, 1, 1, 1, 2);
		return sprintf($titles[($number%100>4 && $number%100<20)? 2 : $cases[min($number%10, 5)] ], $number);
	}
	if ($filemtime <= time()) {
		$days = '00'; $hours = '00'; $min = '00'; $sec = '00';
	}
	else {
		$s = $filemtime - time();
		$hour = floor($s/3600);
		$mins = floor($s/60);
		$days = floor($s/86400);
		$hours = floor($s/3600 - $days*24);
		$min = floor($s/60 - $hour*60); 
		$sec = floor($s - $mins*60); 
		if ($days<10) $days = '0'.$days;
		if ($hours<10) $hours = '0'.$hours;
		if ($min<10) $min = '0'.$min;
		if ($sec<10) $sec = '0'.$sec;
	}	
	$im = imagecreatefromjpeg('bg.jpg');
	$timecolor = imagecolorallocate($im, 255, 255, 255);
	$textcolor = imagecolorallocate($im, 33, 33, 33);
	$font = 'digital.ttf';
	$fonttext = 'verdana.ttf';
	imagettftext($im, 40, 0, 78, 64, $timecolor, $font, $days);
	imagettftext($im, 20, 0, declOfNum($days, array(71, 78, 69)), 98, $textcolor, $fonttext, declOfNum($days, array("день", "дня", "дней")));
	imagettftext($im, 40, 0, 168, 64, $timecolor, $font, $hours);
	imagettftext($im, 18, 0, declOfNum($hours, array(171, 164, 158)), 96, $textcolor, $fonttext, declOfNum($hours, array("час", "часа", "часов")));
	imagettftext($im, 40, 0, 257, 64, $timecolor, $font, $min);
	imagettftext($im, 14, 0, declOfNum($min, array(247, 245, 252)), 94, $textcolor, $fonttext, declOfNum($min, array("минуту", "минуты", "минут")));
	imagettftext($im, 40, 0, 346, 64, $timecolor, $font, $sec);
	imagettftext($im, 12, 0, declOfNum($sec, array(338, 337, 341)), 92, $textcolor, $fonttext, declOfNum($sec, array("секунду", "секунды", "секунд")));
	header('Content-type: image/jpg');
	imageJpeg($im, null, 85);
	imagedestroy($im);
	die;
?>

и архив с ним прикреплен к теме. Может кто разберется в чём проблема.

 

Прикрепленные файлы

  • Прикрепленный файл  timer.zip   127.82К   Количество загрузок: 20

 

 

  • 0

#2 Daffy

Daffy
    Topic Starter
  • Пользователь
  • 26 сообщений
  • Репутация: 1

Отправлено 09 November 2017 - 00:10

Эхх, никто так и не посмотрел в чём проблема  :(


  • 0

#3 Ixman

Ixman
  • Пользователь PRO
  • 2882 сообщений
  • Репутация: 737

Отправлено 09 November 2017 - 12:44

@Daffy, завтра буду дома, то гляну. Главное не забыть
  • 0


#4 Daffy

Daffy
    Topic Starter
  • Пользователь
  • 26 сообщений
  • Репутация: 1

Отправлено 09 November 2017 - 12:57

@Ixman:D  хорошо, спасибо


  • 0

#5 Ixman

Ixman
  • Пользователь PRO
  • 2882 сообщений
  • Репутация: 737

Отправлено 10 November 2017 - 20:12

@Daffy, всё работает, но есть маленькая хитрость.

 

Допустим скрипт будет лежать в директории /timer/ значит ссылка на  таймер будет

http://domen.ru/timer/seodor-sale.jpg

ещё если будут всё же трудности, нужно на директорию таймера выставить права 777.

 

И как я понял это таймер на неделю что ли, то есть он показывает отсчёт на 7 дней


Сообщение отредактировал Ixman: 10 November 2017 - 20:13

  • 0


#6 Daffy

Daffy
    Topic Starter
  • Пользователь
  • 26 сообщений
  • Репутация: 1

Отправлено 10 November 2017 - 20:34

так, сейчас попробуем, но всё это вроде делал, семь дней, это если seodor-sale.jpg , если указать дату date-31-12-2017.jpg вот в таком виде, до будет отсчет по ней

@Ixman, вот закинул всю папку и даже 777 поставил, но не работает 

http://tegdiw.ru/timer/date-31-12-2017.jpg
 http://tegdiw.ru/timer/seodor-sale.jpg

  • 0

#7 Ixman

Ixman
  • Пользователь PRO
  • 2882 сообщений
  • Репутация: 737

Отправлено 10 November 2017 - 20:44

@Daffy, там в скрипте заблокирован показ ошибок, нужно его убрать. Закомментируйте строку error_reporting(0); или уберите её на время вообще. Я хочу посмотреть что покажет скрипт. Да и надо чтобы сервер или хостинг не гасил показ ошибок. В общем вместо error_reporting(0) впишите error_reporting(E_ALL);


  • 0


#8 Daffy

Daffy
    Topic Starter
  • Пользователь
  • 26 сообщений
  • Репутация: 1

Отправлено 10 November 2017 - 20:49

error_reporting(E_ALL);

куча всякого вылезло 

а убрав эту строку, то же самое, что и с ней, нет цифр 


Сообщение отредактировал Daffy: 10 November 2017 - 20:54

  • 0

#9 Daffy

Daffy
    Topic Starter
  • Пользователь
  • 26 сообщений
  • Репутация: 1

Отправлено 10 November 2017 - 21:05

эх, да что же не так, установил на php7+nginx , как автор ответил и даже настройки написал, то же самое, цифр нет

не может же быть, на двух разных хостингах, такая ерунда. 


Сообщение отредактировал Daffy: 10 November 2017 - 21:07

  • 0

#10 Ixman

Ixman
  • Пользователь PRO
  • 2882 сообщений
  • Репутация: 737

Отправлено 10 November 2017 - 21:07

@Daffy, сейчас показ ошибок выключен?


  • 0


robot

robot
  • Пользователь PRO
  • 2652 сообщений
  • Репутация: 85


Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru