PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (2): [1] 2 »
Найдено сообщений: 25
Dinir102
Отправлено: 02 Апреля, 2013 - 12:44:25 • Тема: PHP GD и Кэширование • Форум: Вопросы новичков
Ответов: 2 Просмотров: 171
caballero пишет: Цитата: когда в первый раз загружаешь картинку то выдаёт ошибку,
так и напиши какую раз уж сам не в состоянии воспользоватся гугл-переводчиком
Он не выводит ошибку, а просто выводит поломанную картинку (как например если выводить картинку, которой не существует)
Dinir102
Отправлено: 02 Апреля, 2013 - 12:09:59 • Тема: PHP GD и Кэширование • Форум: Вопросы новичков
Ответов: 2 Просмотров: 171
Всем привет. У меня есть мониторинг для Minecraft, и я его хочу модернизировать сделав ему кэширование. Вроде бы всё сделал правильно, но когда в первый раз загружаешь картинку то выдаёт ошибку, а во второй раз выдаёт нормальную сохранённую картнку. Помогите пожалуйста
PHP:
скопировать код в буфер обмена
<?PHP
$crc = md5 ( "ip=" . $_GET [ "ip" ] . "&port=" . $_GET [ "port" ] . "&style=" . $_GET [ "style" ] . "&gm=" . $_GET [ "gm" ] . "&s1=" . $_GET [ "s1" ] . "&s2=" . $_GET [ "s2" ] . "&s3=" . $_GET [ "s3" ] . "&s4=" . $_GET [ "s4" ] . "&text=" . $_GET [ "text" ] ) ;
if ( $_GET [ 'cache' ] == 1
&@ fopen ( "cache/$crc .png" , "r" ) ) {
if ( ! empty ( $_GET [ 'cachetime' ] ) & is_numeric
( $_GET [ 'cachetime' ] ) ) { $reloadtime = $_GET [ 'cachetime' ] ;
} else {
$reloadtime = 60 ; //секунд
}
if ( $modif < $reloadtime ) {
header ( 'Content-Type: image/png' ) ; }
}
//Главные переменные
$IP = $_GET [ 'ip' ] ;
} else {
echo "Не введён IP!" ;
}
if ( isset ( $_GET [ 'port' ] ) ) { $Port = $_GET [ 'port' ] ;
}
$Gm = $_GET [ 'gm' ] ;
}
if ( isset ( $_GET [ 'text' ] ) ) { $cutext = $_GET [ 'text' ] ;
}
if ( isset ( $_GET [ 'style' ] ) ) { $style = $_GET [ 'style' ] ;
} else {
$style = 0 ;
}
$w = 220 ;
$h = 20 ;
$dostup = 1 ;
//Подключение к файлу который находит переменные сервера
include ( 'class/MinecraftStatus.class.php' ) ;
$Server = new MinecraftStatus( "$IP " , $Port ) ;
if ( $style == 1) {
$g1 = $_GET [ 's1' ] ;
$g2 = $_GET [ 's2' ] ;
$g3 = $_GET [ 's3' ] ;
$g4 = $_GET [ 's4' ] ; }
elseif ( $style == 1
&! empty ( $_GET [ 's3' ] ) &! empty ( $_GET [ 's4' ] ) ) { $g1 = $_GET [ 's1' ] ;
$g2 = $_GET [ 's2' ] ;
$g3 = $_GET [ 's3' ] ;
$g4 = $_GET [ 's4' ] ;
} else {
$g1 = '7EE248' ;
$g2 = '03B801' ;
$g3 = 'FF2A2A' ;
$g4 = 'E60000' ;
}
if ( empty ( $_GET [ 's3' ] ) | empty
( $_GET [ 's4' ] ) ) { $g3 = 'FF2A2A' ;
$g4 = 'E60000' ;
}
//Вывод иконки
if ( $Server -> MaxPlayers ) {
if ( empty ( $Gm ) ) { $m = 'images/ics.png' ; } else { if ( $Gm == 1) { $gamemode = 'images/ics.png' ; }
elseif ( $Gm == 2) { $gamemode = 'images/ind.png' ; }
elseif ( $Gm == 3) { $gamemode = 'images/surv.png' ; }
elseif ( $Gm == 4) { $gamemode = 'images/null.png' ; }
else { $gamemode = 'images/ics.png' ; }
}
} else { $gamemode = 'images/null.png' ; }
$m = $gamemode ; } else { $m = 'images/ics.png' ; }
//Длина зелёной полосы
if ( $Server -> MaxPlayers ) {
$len = $Server -> CurPlayers / $Server -> MaxPlayers * 220 ; }
else { $len = 220 ; }
//Шрифт
$font = 'font/verdana.ttf' ;
//Создание картинки
#Градиент++
function imagecolorgradient( $im , $x1 , $y1 , $height , $width ,
$up_color , $down_color )
{
$color0 = ( $up_color [ 0] - $down_color [ 0] ) / $height ;
$color1 = ( $up_color [ 1] - $down_color [ 1] ) / $height ;
$color2 = ( $up_color [ 2] - $down_color [ 2] ) / $height ;
for ( $i = 0 ; $i <= $height ; $i ++ )
{
$red = $up_color [ 0
] - floor ( $i * $color0 ) ; $green = $up_color [ 1
] - floor ( $i * $color1 ) ; $blue = $up_color [ 2
] - floor ( $i * $color2 ) ; imageline ( $im , $y1 , $x1 + $i , $y1 + $width , $x1 + $i , $col ) ; }
}
function html2rgb( $color )
{
if ( $color [ 0 ] == '#' )
list ( $r , $g , $b ) = array ( $color [ 0
] . $color [ 1
] , $color [ 2] . $color [ 3] ,
$color [ 4] . $color [ 5] ) ;
list ( $r , $g , $b ) = array ( $color [ 0
] . $color [ 0
] , $color [ 1
] . $color [ 1
] , $color [ 2
] . $color [ 2
] ) ; else
return false ;
return array ( $r , $g , $b ) ; }
$height = 20 ;
$width = 220 ;
if ( $Server -> MaxPlayers ) {
$up_color = html2rgb( $g1 ) ;
$down_color = html2rgb( $g2 ) ;
} else {
$up_color = html2rgb( $g3 ) ;
$down_color = html2rgb( $g4 ) ;
}
imagecolorgradient( $im , 0, 0, $height , $width , $up_color , $down_color ) ;
#Градиент--
//Добавление иконки
//прозрачность иконки
//Добавление к исходной картинке полоски и иконки
if ( $dostup == 0 | $dostup == 2) {
$len = 0 ;
}
//Какой текст выводить
$ctext = $cutext ;
} else {
$ctext = $Server -> MOTD ;
}
if ( $Server -> MaxPlayers ) {
$text = $ctext . ': ' . $Server -> CurPlayers . "/" . $Server -> MaxPlayers ;
} else {
$text = 'Недоступен' ; }
if ( $dostup == 0) {
$text = 'Заблокировано! dev.prominer.ru' ;
$g1 = 'FF2A2A' ;
$g2 = 'E60000' ;
$g3 = 'FF2A2A' ;
$g4 = 'E60000' ;
}
if ( $dostup == 2) {
$text = 'Срок аренды истёк!' ;
$g1 = 'FF2A2A' ;
$g2 = 'E60000' ;
$g3 = 'FF2A2A' ;
$g4 = 'E60000' ;
}
//Вычисление размеров текста и расположение его посередине
$x = $box [ 0] + ( $w / 2) - ( $box [ 4] / 2) ;
$y = $box [ 1] + 3 + ( $h / 2) - ( $box [ 1] / 2) ;
//Создание текста
imagettftext ( $img , 9
, 0
, $x , $y , imagecolorallocate ( $img , 0
, 0
, 0
) , $font , $text ) ;
//компиляция картинки
header ( "Content-type: image/png" ) ; if ( $_GET [ 'cache' ] == 1) {
} else {
}
?>
P.S. Без кэширования всё работает без проблем.
Если включить error_reporting(E_ALL); Ошибок так же не выдаёт
Dinir102
Отправлено: 31 Января, 2013 - 20:21:33 • Тема: str_replace • Форум: Вопросы новичков
Ответов: 9 Просмотров: 244
Всем привет. Вот решил сделать замену определённых символов на <span> окрашивающий впереди стоящий текст. Но что-то не получается.
PHP:
скопировать код в буфер обмена
<?PHP
$text = "§0Обычнй текст, §6чего на него смотреть?"
"§0" , "§1" , "§2" , "§3" , "§4" , "§5" , "§6" , "§7" , "§8" , "§9" , "§a" , "§b" , "§c" , "§d" , "§e" , "§f"
) ;
"<span style='color:#000000;'>" ,
"<span style='color:#0000BF;'>" ,
"<span style='color:#00BF00;'>" ,
"<span style='color:#00BFBF;'>" ,
"<span style='color:#BF0000;'>" ,
"<span style='color:#BF00BF;'>" ,
"<span style='color:#BFBF00;'>" ,
"<span style='color:#BFBFBF;'>" ,
"<span style='color:#404040;'>" ,
"<span style='color:#4040FF;'>" ,
"<span style='color:#40FF40;'>" ,
"<span style='color:#40FFFF;'>" ,
"<span style='color:#FF4040;'>" ,
"<span style='color:#FF40FF;'>" ,
"<span style='color:#FFFF40;'>" ,
"<span style='color:#FFFFFF;'>"
) ;
echo $textrepl ;
Помогите пожалуйста. Заранее благодарен
P.S. было написано class="color... т.к. писал всё поздно ночью... исправил
Dinir102
Отправлено: 17 Января, 2013 - 15:14:22 • Тема: Шаблонизатор Twig| Как создать свою функцию? • Форум: CMS и фреймворки
Ответов: 0 Просмотров: 912
Всем привет!
Я на днях решил попробовать поработать с шаблонизатором Twig и появился вопрос:
Как создать свою функцию?
Например я хочу чтобы если ввести такое {{ country|'127.0.0.1' }} то выполняется php файл который лежит в другой папке. Например 'functions/country.php?ip=Полученный IP (в данном случае 127.0.0.1)'
А файл country.php содержит такое:
PHP:
скопировать код в буфер обмена
<? #Показывает аббревиатуру страны
$ip = $_GET [ 'ip' ] ;
preg_match ( "@<countryAbbrev>(.*?)</countryAbbrev>@si" , $f , $countryCode ) ; $ico = "<img src='/templates/flag/$strana .png' title='$strana '>" ;
echo $ico ;
Dinir102
Отправлено: 18 Октября, 2012 - 16:51:44 • Тема: Проверка сайта на дыры • Форум: FreeLance
Ответов: 6 Просмотров: 2555
avtor.fox пишет: "Нет доступа, Вы уже зарегистрированы" - шо за фигня? Я всего лишь обычные "дропы" писал))
Аа это я исправлю оно думает что идёт вторая регистрация
Dinir102
Отправлено: 14 Августа, 2012 - 15:55:19 • Тема: Вывод новостей по порядку • Форум: Работа с СУБД
Ответов: 0 Просмотров: 750
Всем привет. Я не могу понять как сделать чтобы в цикле новости выводились по порядку
Вот код
PHP:
скопировать код в буфер обмена
<?
$del = $_GET [ 'del' ] ;
if ( $del ) {
echo '<meta http-equiv="refresh" content="0;URL=http://test.prominer.ru">' ;
}
$IP = $_SERVER [ 'REMOTE_ADDR' ] ;
require_once 'bbcode/bbcode.lib.php' ;
do
{
$bb = new bbcode( $myrow [ 'Text' ] ) ;
< div id= "newstitle" >
< a href= "/index.php?th=<?echo $myrow ['ID'];?>" > <? echo $myrow [ 'Title' ] ; ?> </a>
<? if ( $IP == $myrow [ 'ip' ] | $IP == '83.174.216.109' ) { ?>
<a href="/index.php?del=<? echo $myrow [ 'ID' ] ; ?> "><img style="float:right;" src="http://static.iconsearch.ru/uploads/icons/nuvola2/16x16/button_cancel.png" title="Удалить" alt="Удалить"></a>
<a href="/edit.php?edit=<? echo $myrow [ 'ID' ] ; ?> "><img style="float:right;" src="http://www.iconsearch.ru/uploads/icons/nuove/16x16/edit.png" title="Изменить" alt="Изменить"></a>
<? } else { echo '<b style="float:right;font-size:8pt;">Нет прав</b>' ; } ?>
</div>
<div id="newstext">
<? echo $bb -> get_html ( ) ; ?> </div>
<div id="newsfooter">
Автор: <b title="<? echo $myrow [ 'ip' ] ; ?> "><? echo $myrow [ 'Author' ] ; ?> </b>, Дата <? echo $myrow [ 'Date' ] ; ?> </div><hr>
<? }
</div>
Т.е. новости идут 2,1,3,4...
Кто знает помогите.
Вот сайт http://test[dot]prominer[dot]ru/
И ещё если вы знаете как добавить тег [video] в xBB отпишитесь пожалуйста
Dinir102
Отправлено: 12 Августа, 2012 - 23:43:37 • Тема: Изменение новости • Форум: SQL и Архитектура БД
Ответов: 0 Просмотров: 18
Всем привет. У меня такая проблема: Хочу сделать страничку изменения новости но что то не получается. Помогите пожалуйста
PHP:
скопировать код в буфер обмена
<? $Title = $_POST [ 'title' ] ;
$Text = $_POST [ 'text' ] ;
if ( $Title & $Text ) {
$result = mysql_query ( "UPDATE test SET Title='" . $Title . "', Text='" . $Text . "' WHERE ID='" . $ID . "'" ) ; } else { $result = 0 ; }
if ( $result ) {
echo '<h1 style="color:#00ff00;">Новость изменена</h1>' ; } else {
echo '<h1 style="color:#ff0000;">Новость не изменена</h1>' ;
}
echo $Text . '<br>' ;
echo $Title ;
?>
При выводе Text и Title на странице то их содержание меня устраивает (изменено) а в новостях старое
Dinir102
Отправлено: 07 Августа, 2012 - 09:43:40 • Тема: Uptime сервера • Форум: Напишите за меня, пожалуйста
Ответов: 4 Просмотров: 116
Нашёл но он показывает uptime сервера, на котором держится:PHP:
скопировать код в буфер обмена
<?PHP
// format the uptime in case the browser doesn't support dhtml/javascript
// static uptime string
function format_uptime( $seconds ) {
$secs = intval ( $seconds % 60
) ; $mins = intval ( $seconds / 60
% 60
) ; $hours = intval ( $seconds / 3600
% 24
) ; $days = intval ( $seconds / 86400
) ;
if ( $days > 0) {
$uptimeString .= $days ;
$uptimeString .= ( ( $days == 1 ) ? " day" : " days" ) ;
}
if ( $hours > 0) {
$uptimeString .= ( ( $days > 0 ) ? ", " : "" ) . $hours ;
$uptimeString .= ( ( $hours == 1 ) ? " hour" : " hours" ) ;
}
if ( $mins > 0) {
$uptimeString .= ( ( $days > 0 || $hours > 0 ) ? ", " : "" ) . $mins ;
$uptimeString .= ( ( $mins == 1 ) ? " minute" : " minutes" ) ;
}
if ( $secs > 0) {
$uptimeString .= ( ( $days > 0 || $hours > 0 || $mins > 0 ) ? ", " : "" ) . $secs ;
$uptimeString .= ( ( $secs == 1 ) ? " second" : " seconds" ) ;
}
return $uptimeString ;
}
// grab the date & time the server started up
preg_match ( "(\d{1,2}/\d{1,2}/\d{4}\s+\d{1,2}\:\d{2}\s+\w{2})" , $winstats , $matches ) ;
// convert the readable date & time to a timestamp and deduct it from the current timestamp
// thus giving us the total uptime in seconds
// get the static uptime
$staticUptime = "Server Uptime: " . format_uptime( $uptimeSecs ) ;
?>
<html>
<head>
<script language="javascript">
<!--
var upSeconds=<?PHP echo $uptimeSecs ; ?> ;
function doUptime() {
var uptimeString = "Server Uptime: ";
var secs = parseInt(upSeconds % 60);
var mins = parseInt(upSeconds / 60 % 60);
var hours = parseInt(upSeconds / 3600 % 24);
var days = parseInt(upSeconds / 86400);
if (days > 0) {
uptimeString += days;
uptimeString += ((days == 1) ? " day" : " days");
}
if (hours > 0) {
uptimeString += ((days > 0) ? ", " : "") + hours;
uptimeString += ((hours == 1) ? " hour" : " hours");
}
if (mins > 0) {
uptimeString += ((days > 0 || hours > 0) ? ", " : "") + mins;
uptimeString += ((mins == 1) ? " minute" : " minutes");
}
if (secs > 0) {
uptimeString += ((days > 0 || hours > 0 || mins > 0) ? ", " : "") + secs;
uptimeString += ((secs == 1) ? " second" : " seconds");
}
var span_el = document.getElementById("uptime");
var replaceWith = document.createTextNode(uptimeString);
span_el.replaceChild(replaceWith, span_el.childNodes[0]);
upSeconds++;
setTimeout("doUptime()",60000);
}
// -->
</script>
</head>
<body onLoad="doUptime();">
<!-- Uses the DIV tag, but SPAN can be used as well -->
<div id="uptime" style="font-weight:bold;"><?PHP echo $staticUptime ; ?> </div>
</body>
</html>
Посмотреть: Здесь
Dinir102
Отправлено: 07 Августа, 2012 - 09:05:49 • Тема: Uptime сервера • Форум: Напишите за меня, пожалуйста
Ответов: 4 Просмотров: 116
Всем привет! У меня появилась идея модернизировать свой мониторинг mon[dot]prominer[dot]ru так, чтобы показывался ещё и Uptime сервера. Как это сделать я понятия не имею, так что рассчитываю на вас. (Мне нужно чтобы показывал uptime введённого IP и порта)
Внимание! Если вы пришли послать меня в Google то можете расстроиться. Я уже ищу там, а здесь пишу чтобы удвоить свои шансы.
Страниц (2): [1] 2 »
Powered by ExBB FM 1.0 RC1. InvisionExBB