PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 25
Dinir102 Отправлено: 14 Мая, 2013 - 13:52:24 • Тема: Подскажите что делает эта регулярка? • Форум: Регулярные выражения

Ответов: 1
Просмотров: 199
Отсекает в данном поле лишние символы
Dinir102 Отправлено: 02 Апреля, 2013 - 12:44:25 • Тема: PHP GD и Кэширование • Форум: Вопросы новичков

Ответов: 2
Просмотров: 171
caballero пишет:
Цитата:
когда в первый раз загружаешь картинку то выдаёт ошибку,

так и напиши какую раз уж сам не в состоянии воспользоватся гугл-переводчиком


Он не выводит ошибку, а просто выводит поломанную картинку (как например если выводить картинку, которой не существует)
Dinir102 Отправлено: 02 Апреля, 2013 - 12:09:59 • Тема: PHP GD и Кэширование • Форум: Вопросы новичков

Ответов: 2
Просмотров: 171
Всем привет. У меня есть мониторинг для Minecraft, и я его хочу модернизировать сделав ему кэширование. Вроде бы всё сделал правильно, но когда в первый раз загружаешь картинку то выдаёт ошибку, а во второй раз выдаёт нормальную сохранённую картнку. Помогите пожалуйста
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $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"]);
  4.  
  5. if($_GET['cache']==1&@fopen("cache/$crc.png", "r")){
  6.  
  7. if(!empty($_GET['cachetime'])&is_numeric($_GET['cachetime'])){
  8. $reloadtime=$_GET['cachetime'];
  9. }else{
  10. $reloadtime=60; //секунд
  11. }
  12.  
  13. $modif=time()-@filemtime ("cache/$crc.png");
  14. if ($modif<$reloadtime){
  15. $img=imagecreatefrompng("cache/$crc.png");
  16. header('Content-Type: image/png');
  17. imagepng($img);
  18. exit();
  19. }
  20.  
  21. }
  22.  
  23. //Главные переменные
  24. if(isset($_GET['ip'])){
  25. $IP=$_GET['ip'];
  26. }else{
  27. echo "Не введён IP!";
  28. }
  29. if(isset($_GET['port'])){
  30. $Port=$_GET['port'];
  31. }
  32. if(isset($_GET['gm'])){
  33. $Gm=$_GET['gm'];
  34. }
  35. if(isset($_GET['text'])){
  36. $cutext=$_GET['text'];
  37. }
  38. if(isset($_GET['style'])){
  39. $style=$_GET['style'];
  40. }else{
  41. $style=0;
  42. }
  43. $w=220;
  44. $h=20;
  45. $dostup=1;
  46.  
  47. //Подключение к файлу который находит переменные сервера
  48. include('class/MinecraftStatus.class.php');
  49. $Server = new MinecraftStatus("$IP", $Port);
  50.  
  51.  
  52. if($style==1){
  53. $g1=$_GET['s1'];
  54. $g2=$_GET['s2'];
  55. $g3=$_GET['s3'];
  56. $g4=$_GET['s4'];}
  57. elseif($style==1&!empty($_GET['s3'])&!empty($_GET['s4'])){
  58. $g1=$_GET['s1'];
  59. $g2=$_GET['s2'];
  60. $g3=$_GET['s3'];
  61. $g4=$_GET['s4'];
  62. }else{
  63. $g1='7EE248';
  64. $g2='03B801';
  65. $g3='FF2A2A';
  66. $g4='E60000';
  67. }
  68. if(empty($_GET['s3'])|empty($_GET['s4'])){
  69. $g3='FF2A2A';
  70. $g4='E60000';
  71. }
  72.  
  73. //Вывод иконки
  74. if($Server->MaxPlayers){
  75. if(empty($Gm)){$m = 'images/ics.png';}else{
  76. if($Gm==1){$gamemode='images/ics.png';}
  77. elseif($Gm==2){$gamemode='images/ind.png';}
  78. elseif($Gm==3){$gamemode='images/surv.png';}
  79. elseif($Gm==4){$gamemode='images/null.png';}
  80. else{$gamemode='images/ics.png';}
  81. }
  82. }else{$gamemode='images/null.png';}
  83. if(isset($gamemode)){
  84. $m = $gamemode;}else{$m = 'images/ics.png';}
  85.  
  86. //Длина зелёной полосы
  87. if($Server->MaxPlayers){
  88. $len= $Server->CurPlayers/$Server->MaxPlayers *220;}
  89. else{$len=220;}
  90.  
  91. //Шрифт
  92. $font = 'font/verdana.ttf';
  93.  
  94. //Создание картинки
  95. $img = imagecreate($w, $h);
  96. $bg = imagecolorallocate ($img, 238, 238, 238);
  97.  
  98. #Градиент++
  99. function imagecolorgradient($im, $x1, $y1, $height, $width,
  100.     $up_color, $down_color)
  101. {
  102.     $color0=($up_color[0]-$down_color[0])/$height;
  103.     $color1=($up_color[1]-$down_color[1])/$height;
  104.     $color2=($up_color[2]-$down_color[2])/$height;
  105.     for ($i=0;$i<=$height;$i++)
  106.     {
  107.         $red=$up_color[0]-floor($i*$color0);
  108.         $green=$up_color[1]-floor($i*$color1);
  109.         $blue=$up_color[2]-floor($i*$color2);
  110.         $col= imagecolorallocate($im, $red, $green, $blue);
  111.         imageline($im, $y1, $x1+$i, $y1+$width, $x1+$i, $col);
  112.     }
  113. }
  114.  
  115. function html2rgb($color)
  116. {
  117.     if ($color[0] == '#')
  118.         $color = substr($color, 1);
  119.  
  120.     if (strlen($color) == 6)
  121.         list($r, $g, $b) = array($color[0].$color[1],
  122.                                  $color[2].$color[3],
  123.                                  $color[4].$color[5]);
  124.     elseif (strlen($color) == 3)
  125.         list($r, $g, $b) = array($color[0].$color[0], $color[1].$color[1], $color[2].$color[2]);
  126.     else
  127.         return false;
  128.  
  129.     $r = hexdec($r); $g = hexdec($g); $b = hexdec($b);
  130.  
  131.     return array($r, $g, $b);
  132. }
  133.  
  134. $height = 20;
  135. $width = 220;
  136. if($Server->MaxPlayers){
  137. $up_color = html2rgb($g1);
  138. $down_color = html2rgb($g2);
  139. }else{
  140. $up_color = html2rgb($g3);
  141. $down_color = html2rgb($g4);
  142. }
  143.  
  144. $im = imagecreatetruecolor($width, $height);
  145. imagecolorgradient($im, 0, 0, $height, $width, $up_color, $down_color);  
  146. #Градиент--
  147.  
  148. //Добавление иконки
  149. $src = imagecreatefrompng($m);
  150. $trans = imagecolorat($src,0,0);
  151. //прозрачность иконки
  152. imagecolortransparent($src,$trans);
  153. //Добавление к исходной картинке полоски и иконки
  154. if($dostup==0|$dostup==2){
  155. $len=0;
  156. }
  157. imagecopy($img, $im, 0, 0, 0, 0, $len, 20);
  158. imagecopy($img, $src, 4, 2.5, 0, 0, 15, 15);
  159.  
  160. //Какой текст выводить
  161. if(!empty($cutext)){
  162. $ctext=$cutext;
  163. }else{
  164. $ctext=$Server->MOTD;
  165. }
  166.  
  167. if($Server->MaxPlayers){
  168. $text=$ctext .': '. $Server->CurPlayers . "/" . $Server->MaxPlayers;
  169. }else{
  170. $text='Недоступен';}
  171.  
  172. if($dostup==0){
  173. $text='Заблокировано! dev.prominer.ru';
  174. $g1='FF2A2A';
  175. $g2='E60000';
  176. $g3='FF2A2A';
  177. $g4='E60000';
  178. }
  179. if($dostup==2){
  180. $text='Срок аренды истёк!';
  181. $g1='FF2A2A';
  182. $g2='E60000';
  183. $g3='FF2A2A';
  184. $g4='E60000';
  185. }
  186.  
  187. //Вычисление размеров текста и расположение его посередине
  188. $box=imagettfbbox(9,0,$font,$text);
  189. $x = $box[0] + ($w / 2) - ($box[4] / 2);
  190. $y = $box[1]+3 + ($h / 2) - ($box[1] / 2);
  191. //Создание текста
  192. imagettftext($img, 9, 0, $x, $y, imagecolorallocate ($img, 0, 0, 0), $font,$text);
  193.  
  194. //компиляция картинки
  195. header ("Content-type: image/png");
  196. if($_GET['cache']==1){
  197. imagepng($img,"cache/$crc.png");
  198. }else{
  199. imagepng($img);
  200. }
  201. ?>
  202.  


P.S. Без кэширования всё работает без проблем.
Если включить error_reporting(E_ALL); Ошибок так же не выдаёт
Dinir102 Отправлено: 31 Января, 2013 - 20:21:33 • Тема: str_replace • Форум: Вопросы новичков

Ответов: 9
Просмотров: 244
Всем привет. Вот решил сделать замену определённых символов на <span> окрашивающий впереди стоящий текст. Но что-то не получается.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $text="§0Обычнй текст, §6чего на него смотреть?"
  4.  
  5. $colors=array(
  6. "§0","§1","§2","§3","§4","§5","§6","§7","§8","§9","§a","§b","§c","§d","§e","§f"
  7. );
  8. $htmlcolors=array(
  9. "<span style='color:#000000;'>",
  10. "<span style='color:#0000BF;'>",
  11. "<span style='color:#00BF00;'>",
  12. "<span style='color:#00BFBF;'>",
  13. "<span style='color:#BF0000;'>",
  14. "<span style='color:#BF00BF;'>",
  15. "<span style='color:#BFBF00;'>",
  16. "<span style='color:#BFBFBF;'>",
  17. "<span style='color:#404040;'>",
  18. "<span style='color:#4040FF;'>",
  19. "<span style='color:#40FF40;'>",
  20. "<span style='color:#40FFFF;'>",
  21. "<span style='color:#FF4040;'>",
  22. "<span style='color:#FF40FF;'>",
  23. "<span style='color:#FFFF40;'>",
  24. "<span style='color:#FFFFFF;'>"
  25. );
  26.  
  27. $textrepl=str_ireplace($colors,$htmlcolors,$text);
  28. echo $textrepl;
  29.  


Помогите пожалуйста. Заранее благодарен Закатив глазки

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:
скопировать код в буфер обмена
  1.  
  2. <? #Показывает аббревиатуру страны
  3. $ip=$_GET['ip'];
  4. $f = file_get_contents("http://api.hostip.info/?ip=".$ip);
  5.  
  6.     preg_match("@<countryAbbrev>(.*?)</countryAbbrev>@si", $f, $countryCode);
  7.     $strana = mb_convert_case($countryCode[1], MB_CASE_LOWER, "UTF-8");
  8.         $ico="<img src='/templates/flag/$strana.png' title='$strana'>";
  9.         echo $ico;
  10.  
Dinir102 Отправлено: 18 Октября, 2012 - 16:51:44 • Тема: Проверка сайта на дыры • Форум: FreeLance

Ответов: 6
Просмотров: 2555
avtor.fox пишет:
"Нет доступа, Вы уже зарегистрированы" - шо за фигня? Я всего лишь обычные "дропы" писал))

Аа это я исправлю оно думает что идёт вторая регистрация
Dinir102 Отправлено: 18 Октября, 2012 - 16:06:19 • Тема: Проверка сайта на дыры • Форум: FreeLance

Ответов: 6
Просмотров: 2555
Нужен человек который найдёт дыры в коде и скажет как исправить код
Сайт http://prominer[dot]ru/
Dinir102 Отправлено: 08 Сентября, 2012 - 11:25:56 • Тема: Изменение вида ссылки • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1905
jobsdata Спасибо)) помогло
Dinir102 Отправлено: 06 Сентября, 2012 - 17:13:38 • Тема: Изменение вида ссылки • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1905
А можно поподробнее? я гуглю и мало что понимаю в написанном
Dinir102 Отправлено: 06 Сентября, 2012 - 16:58:29 • Тема: Изменение вида ссылки • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1905
Я пишу свой движок и мне надо сделать чтобы страницы открывались так:
http://www[dot]сайт[dot]ru/reg/
а не
http://www[dot]сайт[dot]ru/reg.php
Помогите пожалуйста
Dinir102 Отправлено: 14 Августа, 2012 - 15:55:19 • Тема: Вывод новостей по порядку • Форум: Работа с СУБД

Ответов: 0
Просмотров: 750
Всем привет. Я не могу понять как сделать чтобы в цикле новости выводились по порядку
Вот код

PHP:
скопировать код в буфер обмена
  1. <?
  2. $db=mysql_connect('localhost','***','***');
  3. mysql_select_db('***',$db);
  4. mysql_query('ORDER BY  `ID` DESC ');
  5. mysql_query("SET NAMES utf8");
  6. $myrow = mysql_fetch_array($result);
  7.  
  8. $del=$_GET['del'];
  9. if($del){
  10. mysql_query('DELETE FROM news WHERE id="'.$del.'"');
  11. echo '<meta http-equiv="refresh" content="0;URL=http://test.prominer.ru">';
  12. }
  13.  
  14. $IP=$_SERVER['REMOTE_ADDR'];
  15.  
  16. require_once 'bbcode/bbcode.lib.php';
  17. do
  18. {
  19. $bb = new bbcode($myrow['Text']);
  20. <div id="newstitle">
  21. <a href="/index.php?th=<?echo $myrow['ID'];?>"><?echo $myrow['Title'];?></a>
  22. <?if($IP==$myrow['ip']|$IP=='83.174.216.109'){?>
  23. <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>
  24. <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>
  25. <?}else{echo '<b style="float:right;font-size:8pt;">Нет прав</b>';}?>
  26. </div>
  27. <div id="newstext">
  28. <?echo $bb->get_html();?></div>
  29. <div id="newsfooter">
  30. Автор: <b title="<?echo $myrow['ip'];?>"><?echo $myrow['Author'];?></b>, Дата <?echo $myrow['Date'];?></div><hr>
  31. <?}
  32. while($myrow = mysql_fetch_array($result));?>
  33. </div>
  34.  

Т.е. новости идут 2,1,3,4...
Кто знает помогите.
Вот сайт http://test[dot]prominer[dot]ru/

И ещё если вы знаете как добавить тег [video] в xBB отпишитесь пожалуйста
Dinir102 Отправлено: 12 Августа, 2012 - 23:43:37 • Тема: Изменение новости • Форум: SQL и Архитектура БД

Ответов: 0
Просмотров: 18
Всем привет. У меня такая проблема: Хочу сделать страничку изменения новости но что то не получается. Помогите пожалуйста
PHP:
скопировать код в буфер обмена
  1. <?$Title=$_POST['title'];
  2. $Text=$_POST['text'];
  3.  
  4. $db=mysql_connect('localhost','******','******');
  5. mysql_select_db('******',$db);
  6.  
  7. mysql_query("SET NAMES utf8");
  8.  
  9. if($Title&$Text){
  10. $result = mysql_query("UPDATE test SET Title='".$Title."', Text='".$Text."' WHERE ID='".$ID."'");
  11. }else{$result = 0;}
  12.  
  13. if($result){
  14. echo '<h1 style="color:#00ff00;">Новость изменена</h1>';}else{
  15. echo '<h1 style="color:#ff0000;">Новость не изменена</h1>';
  16. }
  17. echo $Text.'<br>';
  18. echo $Title;
  19. ?>
  20.  


При выводе Text и Title на странице то их содержание меня устраивает (изменено) а в новостях старое
Dinir102 Отправлено: 07 Августа, 2012 - 09:43:40 • Тема: Uptime сервера • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 116
Нашёл но он показывает uptime сервера, на котором держится:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // format the uptime in case the browser doesn't support dhtml/javascript
  3. // static uptime string
  4. function format_uptime($seconds) {
  5.   $secs = intval($seconds % 60);
  6.   $mins = intval($seconds / 60 % 60);
  7.   $hours = intval($seconds / 3600 % 24);
  8.   $days = intval($seconds / 86400);
  9.  
  10.   if ($days > 0) {
  11.     $uptimeString .= $days;
  12.     $uptimeString .= (($days == 1) ? " day" : " days");
  13.   }
  14.   if ($hours > 0) {
  15.     $uptimeString .= (($days > 0) ? ", " : "") . $hours;
  16.     $uptimeString .= (($hours == 1) ? " hour" : " hours");
  17.   }
  18.   if ($mins > 0) {
  19.     $uptimeString .= (($days > 0 || $hours > 0) ? ", " : "") . $mins;
  20.     $uptimeString .= (($mins == 1) ? " minute" : " minutes");
  21.   }
  22.   if ($secs > 0) {
  23.     $uptimeString .= (($days > 0 || $hours > 0 || $mins > 0) ? ", " : "") . $secs;
  24.     $uptimeString .= (($secs == 1) ? " second" : " seconds");
  25.   }
  26.   return $uptimeString;
  27. }
  28.  
  29. // grab the date & time the server started up
  30. preg_match("(\d{1,2}/\d{1,2}/\d{4}\s+\d{1,2}\:\d{2}\s+\w{2})", $winstats, $matches);
  31.  
  32. // convert the readable date & time to a timestamp and deduct it from the current timestamp
  33. // thus giving us the total uptime in seconds
  34. $uptimeSecs = time() - strtotime($matches[0]);
  35.  
  36. // get the static uptime
  37. $staticUptime = "Server Uptime: ".format_uptime($uptimeSecs);
  38. ?>
  39. <html>
  40. <head>
  41. <script language="javascript">
  42. <!--
  43. var upSeconds=<?PHP echo $uptimeSecs; ?>;
  44. function doUptime() {
  45. var uptimeString = "Server Uptime: ";
  46. var secs = parseInt(upSeconds % 60);
  47. var mins = parseInt(upSeconds / 60 % 60);
  48. var hours = parseInt(upSeconds / 3600 % 24);
  49. var days = parseInt(upSeconds / 86400);
  50. if (days > 0) {
  51.   uptimeString += days;
  52.   uptimeString += ((days == 1) ? " day" : " days");
  53. }
  54. if (hours > 0) {
  55.   uptimeString += ((days > 0) ? ", " : "") + hours;
  56.   uptimeString += ((hours == 1) ? " hour" : " hours");
  57. }
  58. if (mins > 0) {
  59.   uptimeString += ((days > 0 || hours > 0) ? ", " : "") + mins;
  60.   uptimeString += ((mins == 1) ? " minute" : " minutes");
  61. }
  62. if (secs > 0) {
  63.   uptimeString += ((days > 0 || hours > 0 || mins > 0) ? ", " : "") + secs;
  64.   uptimeString += ((secs == 1) ? " second" : " seconds");
  65. }
  66. var span_el = document.getElementById("uptime");
  67. var replaceWith = document.createTextNode(uptimeString);
  68. span_el.replaceChild(replaceWith, span_el.childNodes[0]);
  69. upSeconds++;
  70. setTimeout("doUptime()",60000);
  71. }
  72. // -->
  73. </script>
  74. </head>
  75. <body onLoad="doUptime();">
  76.  
  77. <!-- Uses the DIV tag, but SPAN can be used as well -->
  78. <div id="uptime" style="font-weight:bold;"><?PHP echo $staticUptime; ?></div>
  79.  
  80. </body>
  81. </html>


Посмотреть: Здесь
Dinir102 Отправлено: 07 Августа, 2012 - 09:22:52 • Тема: Uptime сервера • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 116
ну к примеру mctop[dot]su http://minestatus[dot]net/ тут есть и никаких настроек на удалённом сервере не требуется вот мне нужно подобное
Dinir102 Отправлено: 07 Августа, 2012 - 09:05:49 • Тема: Uptime сервера • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 116
Всем привет! У меня появилась идея модернизировать свой мониторинг mon[dot]prominer[dot]ru так, чтобы показывался ещё и Uptime сервера. Как это сделать я понятия не имею, так что рассчитываю на вас. (Мне нужно чтобы показывал uptime введённого IP и порта)


Внимание! Если вы пришли послать меня в Google то можете расстроиться. Я уже ищу там, а здесь пишу чтобы удвоить свои шансы.

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB