Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
sssemil
4 / 4 / 0
Регистрация: 29.01.2013
Сообщений: 91
1

Переделываь часть страницы без перезагрузки страницы

19.01.2014, 16:13. Просмотров 1252. Ответов 4
Метки нет (Все метки)

И так у меня есть код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
$file = "./toolbar.php"; 
$contents = file($file); 
$string = implode($contents); 
 
echo $string; 
?>
 
<?php
  $map_path=$_GET['map_path'];
  if (!file_exists($map_path . "/map.svg")) {
    ob_start();
    set_time_limit(0);
    require_once("Spyc.php");
    $file   = $map_path . "/config.yml";
    $yaml   = file_get_contents($file);
    $parsed = Spyc::YAMLLoad($yaml);
    if (!isset($_GET['size']))
      $size = 3;
    else
      $size = $_GET['size'];
    $names = array(
      1   => "stone",
      2   => "grass",
      3   => "dirt",
      4   => "cobblestone",
      5   => "woodenplank",
      6   => "sapling",
      7   => "bedrock",
      8   => "water",
      9   => "stationarywater",
      12  => "sand",
      13  => "gravel",
      15  => "ironore",
      16  => "coalore",
      17  => "wood",
      18  => "leaves",
      20  => "glass",
      24  => "sandstone",
      31  => "tallgrass",
      35  => "wool",
      37  => "yellowflower",
      38  => "cyanflower",
      43  => "DOUBLE_SLABS",
      44  => "stoneslab",
      45  => "brick",
      46  => "tnt",
      48  => "mossstone",
      49  => "obsidian",
      50  => "torch",
      53  => "woodenstairs",
      54  => "CHEST",
      58  => "workbench",
      59  => "wheat",
      60  => "farmland",
      61  => "furnace",
      63  => "SIGN_POST",
      65  => "ladder",
      67  => "cobblestonestairs",
      68  => "WALL_SIGN",
      78  => "snow",
      79  => "ice",
      83  => "sugarcane",
      85  => "fence",
      89  => "glowstone",
      96  => "trapdoor",
      98  => "stonebricks",
      102 => "glasspane",
      107 => "fencegate",
      109 => "stonebrickstairs",
      128 => "sandstonestairs"
    );
    ?>
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="<?= $size * 256 ?>" height="<?= $size * 256 ?>">
    <defs><?php foreach ($names as $name) {
      if (!file_exists("Textures/$name.png"))
        die("Textures/$name.png");
      ?>
      <pattern id="<?= $name ?>" patternUnits="userSpaceOnUse" x="0" y="0" width="<?= $size ?>" height="<?= $size ?>" viewBox="0 0 <?= $size ?> <?= $size ?>">
      <image xlink:href="http://sssemil.or.gs/Textures/<?= $name ?>.png" height="<?= $size ?>" width="<?= $size ?>"/></pattern><?php } ?></defs><?php
    foreach ($parsed as $x => $row) {
      foreach ($row as $y => $col) {
        ?>
        <rect x="<?php echo $size * (256-$y); ?>" y="<?php echo $size * $x; ?>" width="<?= $size ?>" height="<?= $size ?>" fill="url(#<?php echo $names[$col] ?>)" /><?php
      }
    }
    ?>
<?php
    $svg = ob_get_contents();
    @file_put_contents($map_path . "/map.svg",$svg);
 
    /*$im  = new Imagick();
    $im->readImageBlob($svg);
    $im->setImageFormat("png24");
    $im->writeImage($map_path . "/map.png");
    $im->clear();
    $im->destroy();*/
    ob_clear();
  }
?>
<?php
    if (!isset($_GET['size']))
      $size = 3;
    else
      $size = $_GET['size'];
      
$file = $map_path . "/map.svg"; 
$contents = file($file); 
$string = implode($contents); 
 
echo $string; 
 
    $s = file("players_online.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
    for ($i = 1; ; ) {
      $x = ($s[$i])*$size;
      $y = (256-$s[$i+1])*$size;
      echo "<circle cx=\"".$y."\" cy=\"".$x."\" r=\"4\" stroke=\"blue\" stroke-width=\"3\" fill=\"red\" /></circle>";
      echo "<text x=\"".$y."\" y=\"".$x."\" style=\"fill:black;\">_". $s[$i-1] ."</text>";     
      $i = $i + 3;    
      if ($i > count($s)) {
        //echo "<circle cx=\"0\" cy=\"0\" r=\"4\" stroke=\"blue\" stroke-width=\"3\" fill=\"orange\" /></circle>";
        //echo "<circle cx=\"".(256*$size)."\" cy=\"".(256*$size)."\" r=\"4\" stroke=\"blue\" stroke-width=\"3\" fill=\"pink\" /></circle>";
        echo "</svg>";
        break;
      }
    }
    //print_r($s);
?>

Мне надо что-бы каждые скажем 5 секунд переделывалась часть сгенерированная этой
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
    if (!isset($_GET['size']))
      $size = 3;
    else
      $size = $_GET['size'];
      
$file = $map_path . "/map.svg"; 
$contents = file($file); 
$string = implode($contents); 
 
echo $string; 
 
    $s = file("players_online.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
    for ($i = 1; ; ) {
      $x = ($s[$i])*$size;
      $y = (256-$s[$i+1])*$size;
      echo "<circle cx=\"".$y."\" cy=\"".$x."\" r=\"4\" stroke=\"blue\" stroke-width=\"3\" fill=\"red\" /></circle>";
      echo "<text x=\"".$y."\" y=\"".$x."\" style=\"fill:black;\">_". $s[$i-1] ."</text>";     
      $i = $i + 3;    
      if ($i > count($s)) {
        //echo "<circle cx=\"0\" cy=\"0\" r=\"4\" stroke=\"blue\" stroke-width=\"3\" fill=\"orange\" /></circle>";
        //echo "<circle cx=\"".(256*$size)."\" cy=\"".(256*$size)."\" r=\"4\" stroke=\"blue\" stroke-width=\"3\" fill=\"pink\" /></circle>";
        echo "</svg>";
        break;
      }
    }
    //print_r($s);
?>
частью кода, как организовать?)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2014, 16:13
Ответы с готовыми решениями:

Исполнение PHP-скрипта без перезагрузки страницы и без знания JavaScript(!) - Xajax
Приветствую! Решил запостить отдельной темой, а в прилепленной (про Ajax) просто разместить на нее...

$_GET без перезагрузки страницы
Друзья добрый день, интересна такая штука, как передать гет параметр без перезагрузки страницы. Вот...

Форма без перезагрузки страницы
привет всем ))) :bravo: есть форма ))) &lt;?php $result3 = mysql_query(&quot;SELECT * FROM message WHERE...

Голосование Без Перезагрузки Страницы
Имеется скрипт для голосования на PHP (+ БД MySQL), посмотреть результаты можно без перезагрузки...

Переключение без перезагрузки страницы
Здравствуйте! Страница на php. В ней выводится футер шапка, колонка и в теле страницы текст и с...

4
BuPy7
Нет ТЗ - давай досвидания
744 / 375 / 64
Регистрация: 01.12.2011
Сообщений: 2,250
19.01.2014, 16:19 2
Обновление страницы без перезагрузки - это делается AJAX'ом.
0
sssemil
4 / 4 / 0
Регистрация: 29.01.2013
Сообщений: 91
19.01.2014, 16:42  [ТС] 3
Цитата Сообщение от BuPy7 Посмотреть сообщение
Обновление страницы без перезагрузки - это делается AJAX'ом.
А как?)
0
BuPy7
Нет ТЗ - давай досвидания
744 / 375 / 64
Регистрация: 01.12.2011
Сообщений: 2,250
19.01.2014, 21:21 4
sssemil, в интернете много информации.
1
esculap_ra
407 / 214 / 47
Регистрация: 22.08.2010
Сообщений: 1,009
Записей в блоге: 2
19.01.2014, 21:32 5
Создай новый пост в ветке javascript, там подскажут решение. и поищи на форуме, тема уже была.
1
19.01.2014, 21:32
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2014, 21:32

Пример простейшего калькулятора на PHP без перезагрузки страницы (чистый Ajax, без jQuery и других библиотек)
Привет. Это, в каком-то смысле, продолжение креатива...

Обработка данных без перезагрузки страницы
всем привет! есть страница, которая состоит из 3х блоков: 1. таблица (выводится всегда) 2....

ajax загрузка страницы без перезагрузки
ajax загрузка страницы без перезагрузки внутри контента Пример у меня есть ссылка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.