Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 61
1

Создание скрипта "ТВ программа"

28.09.2013, 18:31. Показов 5790. Ответов 43
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер, решил сделать скрипт который позволял бы пользователям моего сайта скачивать себе телепрограмму в XMLTV формате.
От идеи грабберов сразу отказался, так как и так все у друг друга воруют и куча ошибок в итоге в телепрограмме.
От хранения базы в MySQL тоже отказался так как, не посилам мне это, в PHP знаю только echo да include )))
Решил вобщем хранить в файлах базу ТВ.
Структура такая, Папка "base" в ней к примеру папка "Pervyj_kanal"(Папка первого канала) в ней уже папка "28_09_2013"(день с ТВ программой) и там уже соответствующие файлы допустим "17_05-18_00"(Файл называется в соответствием времени ТВ программы) в каждом файле первая строка будет названием ТВ программы вторая описанием.
Собственно до формирования XMLTV файла еще как до китая ползком, поэтому решил начинать по немного учиться, и для начала решил сделать возможность добавления новой телепрограммы в базу.
Собственно тут то у меня заморочка и произошла, как мне сделать форму в которой сразу будет передаваться и название ТВ канала из листбокса и число и время начала и конца телепрограммы, ну и название с описанием, простую форму я передавать умею а вот что бы так много данных передать это очень тяжело для меня пока. Кто может помочь советом или кусочком кода, буду признателен и помну добрым словом на страничке моего будущего сервиса.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2013, 18:31
Ответы с готовыми решениями:

создание скрипта
Написать скрипт, который при щелчке на соответствующей кнопке-ячейке таблицы из-меняет:...

Создание скрипта
Напишите скрипт /usr/local/sbin/www_backup для резервного копирования содержимого директории...

Создание скрипта
Доброго времени суток. Если не в том разделе пишу, тогда перенапрвте. Меня интересует такой...

Создание скрипта
Написать vbs/js скрипт, который прочитает из реестра информацию обо всех расширениях, опознаваемых...

43
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
28.09.2013, 19:31 2
Работа с формами в PHP, при увеличении количества полей формы просто увеличивается количество переменных (можно, конечно, сделать через массив, но, как новичку проще будет решение "в лоб")

Не по теме:

Цитата Сообщение от JEY70 Посмотреть сообщение
буду признателен и помну добрым словом на страничке моего будущего сервиса
только не надо меня мять нигде :D

0
magirus
28.09.2013, 20:44
  #3

Не по теме:

Цитата Сообщение от JEY70 Посмотреть сообщение
и помну добрым словом
ну помни.... словом... :D

0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 61
29.09.2013, 00:15  [ТС] 4
Блин тут какая то фигня с авторизацией была, очень долго не мог войти!
Вобщем форму я сделал:
HTML5
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
                    <span style="color:#FFFFFF;font-family:'Arial Black';font-size:17px;">Добавление телепередачи в базу</span>
                    <form action="add.php" method="post">
                        <span style="color:#FFFFFF;font-family:'Arial Black';font-size:12px;">Выбор канала</span>
                        <select name="kanal" method = "Post">
                            <option value="Pervyj_kanal">Первый канал</option>
                            <option value="Rossija_1">Россия 1</option>
                            <option value="Rossija_2">Россия 2</option>
                            <option value="Kultura">Культура</option>
                            <option value="TV_Centr">ТВ Центр</option>
                            <option value="NTV">НТВ</option>
                            <option value="TNT">ТНТ</option>
                            <option value="STS">СТС</option>
                            <option value="Domashnij">Домашний</option>
                            <option value="REN_TV_-_Seti_NN">РЕН ТВ - Сети НН</option>
                            <option value="5_kanal">5 канал</option>
                            <option value="Zvezda">Звезда</option>
                            <option value="PEREC_-_Dialog">ПЕРЕЦ - Диалог</option>
                            <option value="TV3">ТВ3</option>
                            <option value="Rossija_24">Россия 24</option>
                            <option value="Karusel">Карусель</option>
                            <option value="2h2">2х2</option>
                            <option value="Ju">Ю</option>
                            <option value="Kanal_Disney">Канал Disney</option>
                            <option value="Pjatnica">Пятница</option>
                            <option value="Obshhestvennoe_televidenie_Rossii">Общественное телевидение России</option>
                            <option value="NNTV">ННТВ</option>
                            <option value="Volga">Волга</option>
                            <option value="Pervyj_gorodskoj_(Nizhnij_Novgorod)">Первый городской (Нижний Новгород)</option>
                            <option value="Dzerzhinsk TV">Дзержинск ТВ</option>
                        </select><br>
                        <span style="color:#FFFFFF;font-family:'Arial Black';font-size:12px;">Дата</span><br>
                        <span style="color:#FFFFFF;font-family:'Arial Black';font-size:12px;">Число </span>
                        <select name="data_chislo" method = "Post">
                            <option value="01">1</option>
                            <option value="02">2</option>
                            <option value="03">3</option>
                            <option value="04">4</option>
                            <option value="05">5</option>
                            <option value="06">6</option>
                            <option value="07">7</option>
                            <option value="08">8</option>
                            <option value="09">9</option>
                            <option value="10">10</option>
                            <option value="11">11</option>
                            <option value="12">12</option>
                            <option value="13">13</option>
                            <option value="14">14</option>
                            <option value="15">15</option>
                            <option value="16">16</option>
                            <option value="17">17</option>
                            <option value="18">18</option>
                            <option value="19">19</option>
                            <option value="20">20</option>
                            <option value="21">21</option>
                            <option value="22">22</option>
                            <option value="23">23</option>
                            <option value="24">24</option>
                            <option value="25">25</option>
                            <option value="26">26</option>
                            <option value="27">27</option>
                            <option value="28">28</option>
                            <option value="29">29</option>
                            <option value="30">30</option>
                            <option value="31">31</option>
                        </select>
                        <span style="color:#FFFFFF;font-family:'Arial Black';font-size:12px;">Месяц </span>
                        <select name="data_mesyac" method = "Post">
                            <option value="01">Январь</option>
                            <option value="02">Февраль</option>
                            <option value="03">Март</option>
                            <option value="04">Апрель</option>
                            <option value="05">Май</option>
                            <option value="06">Июнь</option>
                            <option value="07">Июль</option>
                            <option value="08">Август</option>
                            <option value="09">Сентябрь</option>
                            <option value="10">Октябрь</option>
                            <option value="11">Декабрь</option>
                            <option value="12">Январь</option>
                        </select>
                        <span style="color:#FFFFFF;font-family:'Arial Black';font-size:12px;">Год </span>
                        <select name="data_god" method = "Post">
                            <option value="2013">2013</option>
                        </select><br>
                        <span style="color:#FFFFFF;font-family:'Arial Black';font-size:12px;">Время передачи (24 часовой формат!)</span><br>
                        <span style="color:#FFFFFF;font-family:'Arial Black';font-size:12px;">С</span> 
                        <input type=text size="2" name=nachalo_chas>
                        <input type=text size="2" name=nachalo_min>
                        <span style="color:#FFFFFF;font-family:'Arial Black';font-size:12px;">до</span> 
                        <input type=text size="2" name=konec_chas>
                        <input type=text size="2" name=konec_min><br>
                        <span style="color:#FFFFFF;font-family:'Arial Black';font-size:12px;">Название</span><br>
                        <input type=text name=nazvanie><br>
                        <span style="color:#FFFFFF;font-family:'Arial Black';font-size:12px;">Описание</span><br>
                        <input type=text name=opisanie><br>
                        <input type="submit" name="send" value="send">   
                    </form>
И сделал скрипт, который все это дело обрабатывает.
Все работало пока я непопытался прикрутить проверку директорий моей "Бызы данных"

Ну гуру помогите ламеру найти ошибку в седьмой строке.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$dirnamekanal = "base/".$_POST["kanal"]."/";
$dirnamedata = "base/".$_POST["kanal"]."".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"]."/";
$filename = "base/".$_POST["kanal"]."".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"]."/".$_POST["nachalo_chas"]."_".$_POST["nachalo_min"]."-".$_POST["konec_chas"]."_".$_POST["konec_min"].".txt";
if (file_exists($dirnamekanal)) {
    if (file_exists($dirnamedata)) {
        function add_tv();
    } else {
        mkdir($dirnamedata);
    }
} else {
    mkdir($dirnamekanal);
    mkdir($dirnamedata);
}
function add_tv() {
    // Открываем файл, флаг W означает - файл открыт на запись
    $f_hdl = fopen($filename, 'w');
    // Записываем в файл $text
    fwrite($f_hdl, $_POST["nazvanie"]."\n".$_POST["opisanie"]."\n");
    // Закрывает открытый файл
    fclose($f_hdl);
}
?>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.09.2013, 00:17 5
слово "function" на 7 строке уберите. Оно используется только при объявлении функции
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 61
29.09.2013, 00:26  [ТС] 6
Цитата Сообщение от KOPOJI Посмотреть сообщение
слово "function" на 7 строке уберите. Оно используется только при объявлении функции
Спасибо большое, заработало))) Но неправильно(((
Заместо того что бы создать в уже готовой директории "Rossija_1" директорию "28_09_2013", он рядом с "Rossija_1" создал "Rossija_128_09_2013" и без файла внутри.

Добавлено через 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
<?php
$dirnamekanal = "base/".$_POST["kanal"];
$dirnamedata = "base/".$_POST["kanal"]."/".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"];
$filename = "base/".$_POST["kanal"]."".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"]."/".$_POST["nachalo_chas"]."_".$_POST["nachalo_min"]."-".$_POST["konec_chas"]."_".$_POST["konec_min"].".txt";
if (file_exists($dirnamekanal)) {
    if (file_exists($dirnamedata)) {
        add_tv();
    } else {
        mkdir($dirnamedata);
        add_tv();
    }
} else {
    mkdir($dirnamekanal);
    mkdir($dirnamedata);
}
function add_tv() {
    // Открываем файл, флаг W означает - файл открыт на запись
    $f_hdl = fopen($filename, 'w');
    // Записываем в файл $text
    fwrite($f_hdl, $_POST["nazvanie"]."\n".$_POST["opisanie"]."\n");
    // Закрывает открытый файл
    fclose($f_hdl);
}
?>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.09.2013, 00:27 7
Цитата Сообщение от JEY70 Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
function add_tv() {
* * // Открываем файл, флаг W означает - файл открыт на запись
* * $f_hdl = fopen($filename, 'w');
* * // Записываем в файл $text
* * fwrite($f_hdl, $_POST["nazvanie"]."\n".$_POST["opisanie"]."\n");
* * // Закрывает открытый файл
* * fclose($f_hdl);
}
а откуда внутри функции возьмется $filename ?
Почитайте http://www.php.net/ru/language.variables.scope.php

Добавлено через 1 минуту
и вот это тоже почитайте http://www.php.net/manual/ru/f... uments.php
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 61
29.09.2013, 00:44  [ТС] 8
Работает вот так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    $dirnamekanal = "base/".$_POST["kanal"];
    $dirnamedata = "base/".$_POST["kanal"]."/".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"];
    $filename = "base/".$_POST["kanal"]."/".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"]."/".$_POST["nachalo_chas"]."_".$_POST["nachalo_min"]."-".$_POST["konec_chas"]."_".$_POST["konec_min"].".txt";
    if (file_exists($dirnamekanal)) {
        if (file_exists($dirnamedata)) {
            add_tv();
        } else {
            mkdir($dirnamedata);
            add_tv();
        }
    } else {
        mkdir($dirnamekanal);
        mkdir($dirnamedata);
        add_tv();
    }
    function add_tv() {
        // Открываем файл, флаг W означает - файл открыт на запись
        $f_hdl = fopen($GLOBALS['filename'], 'w');
        // Записываем в файл $text
        fwrite($f_hdl, $_POST["nazvanie"]."\n".$_POST["opisanie"]."\n");
        // Закрывает открытый файл
        fclose($f_hdl);
    }
И еще вопрос переменная $_POST["kanal"] допустим, она глобальная? Хочу перед всем этим просто еще сделать проверку на правильность заполнения форм сделать.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.09.2013, 00:45 9
Цитата Сообщение от JEY70 Посмотреть сообщение
переменная $_POST["kanal"] допустим, она глобальная?
да.
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 61
29.09.2013, 01:21  [ТС] 10
Цитата Сообщение от KOPOJI Посмотреть сообщение
да.
Подобная конструкция будет работать?
PHP
1
2
3
4
5
6
7
8
9
if (isset($_POST["kanal"])) {
    if ("1"<=$_POST["data_chislo"]<="31") {
        if ("1"<=$_POST["data_mesyac"]<="12") {
            if ("2013"<=$_POST["data_god"]<="2016") {
                if ("00"<=$_POST["nachalo_chas"]<="23") {
                    if ("00"<=$_POST["nachalo_min"]<="59") {
                        if ("00"<=$_POST["konec_chas"]<="23") {
                            if ("00"<=$_POST["konec_min"]<="59") {
                            ...
Добавлено через 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
if (isset($_POST["kanal"])) {
    if ("1"<=$_POST["data_chislo"]<="31") {
        if ("1"<=$_POST["data_mesyac"]<="12") {
            if ("2013"<=$_POST["data_god"]<="2016") {
                if ("00"<=$_POST["nachalo_chas"]<="23") {
                    if ("00"<=$_POST["nachalo_min"]<="59") {
                        if ("00"<=$_POST["konec_chas"]<="23") {
                            if ("00"<=$_POST["konec_min"]<="59") {
                                if (isset($_POST["nazvanie"])) {
                                    if (isset($_POST["opisanie"])) {
                                        proverka_direktorii();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
echo"Что то не заполнено!";
Добавлено через 13 минут
Народ вот так тоже не хочет, подтолкните плиз.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
if (isset($_POST["kanal"])) echo "Канал не выбран";
    if ("01"<=$_POST["data_chislo"]<="31") echo "Число должно быть от 01 до 31";
        if ("01"<=$_POST["data_mesyac"]<="12") echo "Месяц должен быть от 01 до 12";
            if ("2013"<=$_POST["data_god"]<="2016") echo "Год должен быть от 2013 до скончания времен";
                if ("00"<=$_POST["nachalo_chas"]<="23") echo "Час начала передачи не верен!";
                    if ("00"<=$_POST["nachalo_min"]<="59") echo "Минута начала передачи не верна!";
                        if ("00"<=$_POST["konec_chas"]<="23") echo "Час конца передачи не верен!";
                            if ("00"<=$_POST["konec_min"]<="59") echo "Минута конца передачи не верна!";
                                if (isset($_POST["nazvanie"])) echo "Название не заполнено!";
                                    if (isset($_POST["opisanie"])) echo "Описание не заполнено!";
                                        proverka_direktorii();  
    
function proverka_direktorii() {
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.09.2013, 01:23 11

Не по теме:

заскринил на память..


Цитата Сообщение от JEY70 Посмотреть сообщение
PHP
1
if ("1"<=$_POST["data_chislo"]<="31") {
либо так (кавычки, кстати, не нужны)
PHP
1
if (1 <= $_POST["data_chislo"] && $_POST["data_chislo"] <= 31) {
либо так
PHP
1
if( in_array($_POST["data_chislo"], range(1, 31)) )
Цитата Сообщение от JEY70 Посмотреть сообщение
"00"
Нет такого числа в php, есть 0 и 0.0
Цитата Сообщение от JEY70 Посмотреть сообщение
PHP
1
2
if (isset($_POST["nazvanie"])) {
* * * * * * * * * * * * * * * * * * if (isset($_POST["opisanie"])) {
PHP
1
2
3
if(isset($_POST['nazvanie'], $_POST['opisanie'])) {
....
}
Цитата Сообщение от JEY70 Посмотреть сообщение
PHP
1
echo"Что то не заполнено!";
Код выполняется последовательно. Выполнилось условие (или не выполнилось) -> перешел на выполнение дальнейшего кода -> вывел "Что то не заполнено!". Во всех случаях (кроме завершения работы скрипта прежде)

Добавлено через 1 минуту
JEY70, http://www.php.net/manual/ru/l... ogical.php заключите все ваши проверки в одно условие с помощью оператора AND (или &&)
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 61
29.09.2013, 01:24  [ТС] 12
Цитата Сообщение от KOPOJI Посмотреть сообщение
Не по теме:
заскринил на память..
Давным давно, работал на одном простенько скриптовом языке, для узконаправленой программы, там было можно)))
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.09.2013, 01:27 13
JEY70, да я не про это. Я про кучу условных операторов
PHP
1
2
3
4
if(условие1)
  if(условие2)
    if(условие3)
      ...
вместо
PHP
1
if(условие1 && условие2 && условие3 && ......)
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 61
29.09.2013, 01:40  [ТС] 14
Цитата Сообщение от KOPOJI Посмотреть сообщение
JEY70, да я не про это. Я про кучу условных операторов
PHP
1
2
3
4
if(условие1)
  if(условие2)
    if(условие3)
      ...
вместо
PHP
1
if(условие1 && условие2 && условие3 && ......)
PHP
1
2
3
4
if (isset($_POST["opisanie"]) && isset($_POST["nazvanie"]) && "0"<=$_POST["konec_min"] && $_POST["konec_min"]<="59" && "0"<=$_POST["konec_chas"] && $_POST["konec_chas"]<="23" && isset($_POST["kanal"]) && "1"<=$_POST["data_chislo"] && $_POST["data_chislo"]<="31" && "01"<=$_POST["data_mesyac"] && $_POST["data_mesyac"]<="12" && "2013"<=$_POST["data_god"] && $_POST["data_god"]<="2016" && "0"<=$_POST["nachalo_chas"] && $_POST["nachalo_chas"]<="23") { 
    proverka_direktorii();
}                   
exit;
[Sun Sep 29 01:38:48 2013] [error] [client 8.8.8.8] PHP Fatal error: Call to undefined function add_tv() in /home/admin/web/vasya.ru/public_html/add.php on line 16, referer: http://vasya.ru/

Весь код
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
<?php
$dirnamekanal = "";
$dirnamedata = "";
$filename = "";
if (isset($_POST["opisanie"]) && isset($_POST["nazvanie"]) && "0"<=$_POST["konec_min"] && $_POST["konec_min"]<="59" && "0"<=$_POST["konec_chas"] && $_POST["konec_chas"]<="23" && isset($_POST["kanal"]) && "1"<=$_POST["data_chislo"] && $_POST["data_chislo"]<="31" && "01"<=$_POST["data_mesyac"] && $_POST["data_mesyac"]<="12" && "2013"<=$_POST["data_god"] && $_POST["data_god"]<="2016" && "0"<=$_POST["nachalo_chas"] && $_POST["nachalo_chas"]<="23") { 
    proverka_direktorii();
}                   
exit;
    
function proverka_direktorii() {
    $dirnamekanal = "base/".$_POST["kanal"];
    $dirnamedata = "base/".$_POST["kanal"]."/".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"];
    $filename = "base/".$_POST["kanal"]."/".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"]."/".$_POST["nachalo_chas"]."_".$_POST["nachalo_min"]."-".$_POST["konec_chas"]."_".$_POST["konec_min"].".txt";
    if (file_exists($GLOBALS['dirnamekanal'])) {
        if (file_exists($GLOBALS['dirnamedata'])) {
            add_tv();
        } else {
            mkdir($GLOBALS['dirnamedata']);
            add_tv();
        }
    } else {
        mkdir($GLOBALS['dirnamekanal']);
        mkdir($GLOBALS['dirnamedata']);
        add_tv();
    }
    function add_tv() {
        // Открываем файл, флаг W означает - файл открыт на запись
        $f_hdl = fopen($GLOBALS['filename'], 'w');
        // Записываем в файл $text
        fwrite($f_hdl, $_POST["nazvanie"]."\n".$_POST["opisanie"]."\n");
        // Закрывает открытый файл
        fclose($f_hdl);
    }
}
?>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.09.2013, 01:41 15
Цитата Сообщение от JEY70 Посмотреть сообщение
PHP
1
if (isset($_POST["opisanie"]) && isset($_POST["nazvanie"])
я же про это уже говорил
PHP
1
if (isset($_POST["opisanie"], $_POST["nazvanie"])
а по поводу ошибки - переведите текст ошибки..
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 61
29.09.2013, 02:15  [ТС] 16
Цитата Сообщение от KOPOJI Посмотреть сообщение
я же про это уже говорил
PHP
1
if (isset($_POST["opisanie"], $_POST["nazvanie"])
а по поводу ошибки - переведите текст ошибки..
Сделал так:
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
<?php
$dirnamekanal = "";
$dirnamedata = "";
$filename = "";
if (isset($_POST["opisanie"]) && isset($_POST["nazvanie"]) && "0"<=$_POST["konec_min"] && $_POST["konec_min"]<="59" && "0"<=$_POST["konec_chas"] && $_POST["konec_chas"]<="23" && isset($_POST["kanal"]) && "1"<=$_POST["data_chislo"] && $_POST["data_chislo"]<="31" && "01"<=$_POST["data_mesyac"] && $_POST["data_mesyac"]<="12" && "2013"<=$_POST["data_god"] && $_POST["data_god"]<="2016" && "0"<=$_POST["nachalo_chas"] && $_POST["nachalo_chas"]<="23") { 
    proverka_direktorii();
}                   
exit;
    
function proverka_direktorii() {
    $dirnamekanal = "base/".$_POST["kanal"];
    $dirnamedata = "base/".$_POST["kanal"]."/".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"];
    $filename = "base/".$_POST["kanal"]."/".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"]."/".$_POST["nachalo_chas"]."_".$_POST["nachalo_min"]."-".$_POST["konec_chas"]."_".$_POST["konec_min"].".txt";
    if (file_exists($dirnamekanal)) {
        if (file_exists($dirnamedata)) {
            add_tv();
        } else {
            mkdir($dirnamedata);
            add_tv();
        }
    } else {
        mkdir($dirnamekanal);
        mkdir($dirnamedata);
        add_tv();
    }
}
exit;
function add_tv() {
        // Открываем файл, флаг W означает - файл открыт на запись
        $f_hdl = fopen($GLOBALS['filename'], 'w');
        // Записываем в файл $text
        fwrite($f_hdl, $_POST["nazvanie"]."\n".$_POST["opisanie"]."\n");
        // Закрывает открытый файл
        fclose($f_hdl);
}
?>
Но он теперь до конца не отрабатывает, создает папку числа и все(

Добавлено через 14 минут
Я понимаю что он не видит имя файла но не понимаю почему
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
<?php
$dirnamekanal = "";
$dirnamedata = "";
$filename = "";
if (isset($_POST["opisanie"], $_POST["nazvanie"]) && "0"<=$_POST["konec_min"] && $_POST["konec_min"]<="59" && "0"<=$_POST["konec_chas"] && $_POST["konec_chas"]<="23" && isset($_POST["kanal"]) && "1"<=$_POST["data_chislo"] && $_POST["data_chislo"]<="31" && "01"<=$_POST["data_mesyac"] && $_POST["data_mesyac"]<="12" && "2013"<=$_POST["data_god"] && $_POST["data_god"]<="2016" && "0"<=$_POST["nachalo_chas"] && $_POST["nachalo_chas"]<="23") { 
    proverka_direktorii();
}                   
exit;
    
function proverka_direktorii() {
    $dirnamekanal = "base/".$_POST["kanal"];
    $dirnamedata = "base/".$_POST["kanal"]."/".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"];
    $GLOBALS['$filename'] = "base/".$_POST["kanal"]."/".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"]."/".$_POST["nachalo_chas"]."_".$_POST["nachalo_min"]."-".$_POST["konec_chas"]."_".$_POST["konec_min"].".txt";
    if (file_exists($dirnamekanal)) {
        if (file_exists($dirnamedata)) {
            add_tv();
        } else {
            mkdir($dirnamedata);
            add_tv();
        }
    } else {
        mkdir($dirnamekanal);
        mkdir($dirnamedata);
        add_tv();
    }
}
exit;
function add_tv() {
        // Открываем файл, флаг W означает - файл открыт на запись
        $f_hdl = fopen($GLOBALS['filename'], 'w');
        // Записываем в файл $text
        fwrite($f_hdl, $_POST["nazvanie"]."\n".$_POST["opisanie"]."\n");
        // Закрывает открытый файл
        fclose($f_hdl);
}
?>
Добавлено через 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
29
30
31
32
33
34
35
36
<?php
$dirnamekanal = "";
$dirnamedata = "";
$filename = "";
if (isset($_POST["opisanie"], $_POST["nazvanie"]) && "0"<=$_POST["konec_min"] && $_POST["konec_min"]<="59" && "0"<=$_POST["konec_chas"] && $_POST["konec_chas"]<="23" && isset($_POST["kanal"]) && "1"<=$_POST["data_chislo"] && $_POST["data_chislo"]<="31" && "01"<=$_POST["data_mesyac"] && $_POST["data_mesyac"]<="12" && "2013"<=$_POST["data_god"] && $_POST["data_god"]<="2016" && "0"<=$_POST["nachalo_chas"] && $_POST["nachalo_chas"]<="23") { 
    proverka_direktorii();
}                   
exit;
    
function proverka_direktorii() {
    $GLOBALS['dirnamekanal'] = "base/".$_POST["kanal"];
    $GLOBALS['dirnamedata'] = "base/".$_POST["kanal"]."/".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"];
    $GLOBALS['filename'] = "base/".$_POST["kanal"]."/".$_POST["data_chislo"]."_".$_POST["data_mesyac"]."_".$_POST["data_god"]."/".$_POST["nachalo_chas"]."_".$_POST["nachalo_min"]."-".$_POST["konec_chas"]."_".$_POST["konec_min"].".txt";
    if (file_exists($GLOBALS['dirnamekanal'])) {
        if (file_exists($GLOBALS['dirnamedata'])) {
            add_tv();
        } else {
            mkdir($GLOBALS['dirnamedata']);
            add_tv();
        }
    } else {
        mkdir($GLOBALS['dirnamekanal']);
        mkdir($GLOBALS['dirnamedata']);
        add_tv();
    }
}
exit;
function add_tv() {
        // Открываем файл, флаг W означает - файл открыт на запись
        $f_hdl = fopen($GLOBALS['filename'], 'w');
        // Записываем в файл $text
        fwrite($f_hdl, $_POST["nazvanie"]."\n".$_POST["opisanie"]."\n");
        // Закрывает открытый файл
        fclose($f_hdl);
}
?>
0
KOPOJI
29.09.2013, 11:26
  #17

Не по теме:

Цитата Сообщение от JEY70 Посмотреть сообщение
Жду критику!
ее много..

0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 61
29.09.2013, 13:16  [ТС] 18
Цитата Сообщение от KOPOJI Посмотреть сообщение

Не по теме:


ее много..

изложите в письменном виде пожалуйста)
0
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 61
01.10.2013, 03:07  [ТС] 19
Подскажите ошибку в шестой строке

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
<?php
$base_name_TV_channel = "";
$base_date_TV_show_start = "";
$base_date_TV_show_stop = "";
//Проверяем наличие данных во всех POST запросах
if (isset($_POST["Name_TV_show"], $_POST["Description_TV_show"], $_POST["TV_channel"]) &&  (is_numeric($_POST["Start_TV_hour"], $_POST["Stop_TV_hour"], $_POST["Start_TV_minutes"], $_POST["Stop_TV_minutes"], $_POST["Date_TV_show_year"], $_POST["Date_TV_show_month"], $_POST["Date_TV_show_number"])) {
    standardization_date(); // Перепрыгиваем на стандартизацию времени ТВ программы согласно XMLTV
    //test_base(); //Перепрыгиваем на проверку существования директорий для записи в базу данных.
    error_and_stop(); //Врятли до сюда дойдет, но я суеверный)))
} else {
    error_no_post_vars(); // Очевидно что то незаполнили!
}
// Функция приведения даты телепрограммы в удобный вид YYYYmmddHHMMss
function standardization_date() {
    $GLOBALS['base_date_TV_show_start'] = $_POST["Date_TV_show_year"].$_POST["Date_TV_show_month"].$_POST["Date_TV_show_number"].$_POST["Start_TV_hour"].$_POST["Start_TV_minutes"]."00";
    $GLOBALS['base_date_TV_show_stop'] = $_POST["Date_TV_show_year"].$_POST["Date_TV_show_month"].$_POST["Date_TV_show_number"].$_POST["Stop_TV_hour"].$_POST["Stop_TV_minutes"]."00";
    test_base()
    error_and_stop(); //Врятли до сюда дойдет, но я суеверный)))
}
// Функция проверки существования директорий для базы данных
function test_base() {
    $GLOBALS['base_name_TV_channel'] = "base_TV_show/".$_POST["TV_channel"];
    if (file_exists($GLOBALS['base_name_TV_channel'])) {
    add_TV_show();  
} else {
    mkdir($GLOBALS['base_name_TV_channel']);
    test_base()
    error_and_stop(); //Врятли до сюда дойдет, но я суеверный)))
}
function add_TV_show() {
    $TV_show_file = $GLOBALS['base_name_TV_channel']."/".$GLOBALS['base_date_TV_show_start'].":".$GLOBALS['base_date_TV_show_stop'].".txt";
    $base_write_file = fopen($GLOBALS['TV_show_file'], 'w');
    fwrite($base_write_file, $_POST["Name_TV_show"]."\n".$_POST["Description_TV_show"]);
    fclose($base_write_file);
    good_write()
    error_and_stop(); //Врятли до сюда дойдет, но я суеверный)))
}
function good_write() {
    header("Location: http://XXXXXXXX.ru/index.php?result=good"); /* Перенаправление броузера */
    /* Можно убедиться, что следующий за командой код не выполнится из-за
    перенаправления.*/
    exit;
}
function error_and_stop() {
    header("Location: http://XXXXXXXX.ru/index.php?result=critical_error"); /* Перенаправление броузера */
    /* Можно убедиться, что следующий за командой код не выполнится из-за
    перенаправления.*/
    exit;
}
function error_no_post_vars() {
    header("Location: http://XXXXXXXX.ru/index.php?result=no_post"); /* Перенаправление броузера */
    /* Можно убедиться, что следующий за командой код не выполнится из-за
    перенаправления.*/
    exit;
}
?>
Добавлено через 55 минут
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
<?php
$base_name_TV_channel = "";
$base_date_TV_show_start = "";
$base_date_TV_show_stop = "";
//Проверяем наличие данных во всех POST запросах
if (isset($_POST["Name_TV_show"], $_POST["Description_TV_show"], $_POST["TV_channel"])) {
    standardization_date(); // Перепрыгиваем на стандартизацию времени ТВ программы согласно XMLTV
} else {
    error_no_post_vars(); // Очевидно что то незаполнили!
}
// Функция приведения даты телепрограммы в удобный вид YYYYmmddHHMMss
function standardization_date() {
    $GLOBALS['base_date_TV_show_start'] = $_POST["Date_TV_show_year"].$_POST["Date_TV_show_month"].$_POST["Date_TV_show_number"].$_POST["Start_TV_hour"].$_POST["Start_TV_minutes"]."00";
    $GLOBALS['base_date_TV_show_stop'] = $_POST["Date_TV_show_year"].$_POST["Date_TV_show_month"].$_POST["Date_TV_show_number"].$_POST["Stop_TV_hour"].$_POST["Stop_TV_minutes"]."00";
    test_base();
    error_and_stop(); //Врятли до сюда дойдет, но я суеверный)))
}
// Функция проверки существования директорий для базы данных
function test_base() {
    $GLOBALS['base_name_TV_channel'] = "base_TV_show/".$_POST["TV_channel"];
    if (file_exists($GLOBALS['base_name_TV_channel'])) {
    add_TV_show();  
} else {
    mkdir($GLOBALS['base_name_TV_channel']);
    test_base();
    error_and_stop(); //Врятли до сюда дойдет, но я суеверный)))
}
function add_TV_show() {
    $TV_show_file = $GLOBALS['base_name_TV_channel']."/".$GLOBALS['base_date_TV_show_start'].":".$GLOBALS['base_date_TV_show_stop'].".txt";
    $base_write_file = fopen($GLOBALS['TV_show_file'], 'w');
    fwrite($base_write_file, $_POST["Name_TV_show"]."\n".$_POST["Description_TV_show"]);
    fclose($base_write_file);
    good_write();
    error_and_stop(); //Врятли до сюда дойдет, но я суеверный)))
}
function good_write() {
    header("Location: http://357356757.ru/index.php?result=good"); /* Перенаправление броузера */
    /* Можно убедиться, что следующий за командой код не выполнится из-за
    перенаправления.*/
    exit;
}
function error_and_stop() {
    header("Location: http://3567356757.ru/index.php?result=critical_error"); /* Перенаправление броузера */
    /* Можно убедиться, что следующий за командой код не выполнится из-за
    перенаправления.*/
    exit;
}
function error_no_post_vars() {
    header("Location: http://3676537.ru/index.php?result=no_post"); /* Перенаправление броузера */
    /* Можно убедиться, что следующий за командой код не выполнится из-за
    перенаправления.*/
    exit;
}
?>
Код
[Tue Oct 01 03:05:10 2013] [error] [client 35676573] PHP Parse error:  syntax error, unexpected $end in /home/admin/web/36757356757.ru/public_html/add.php on line 54, referer: http://56735673567.ru/
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
01.10.2013, 07:38 20
Цитата Сообщение от JEY70 Посмотреть сообщение
PHP
18
19
20
21
22
23
24
25
26
27
// Функция проверки существования директорий для базы данных
function test_base() {
    $GLOBALS['base_name_TV_channel'] = "base_TV_show/".$_POST["TV_channel"];
    if (file_exists($GLOBALS['base_name_TV_channel'])) {
    add_TV_show();  
} else {
    mkdir($GLOBALS['base_name_TV_channel']);
    test_base();
    error_and_stop(); //Врятли до сюда дойдет, но я суеверный)))
}
сама функция не закончена, пропущена фигурная скобка

Добавлено через 1 минуту
по поводу первого кода - is_numeric, в отличии от isset, принимает только один аргумент
0
01.10.2013, 07:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2013, 07:38
Помогаю со студенческими работами здесь

Атоматическое создание скрипта
Здравствуйте! Есть база данных. Там есть таблицы, представления. У таблиц есть ключи и индексы....

Создание обьекта из скрипта
Я делаю сейчас панель где будет отображаться списание у пользователя с баланса. Человек нажал на...

создание скрипта структуры БД?
Средствами SQLCMD возможно ли создать скрипт структуры БД?

Создание скрипта (bash)
Как создать скрипт, определяющий файлы доступные на запись, и дублирует их, делая дубликат скрытым...

Создание подсчитывающего скрипта
Добрый день! Подскажите, как написать скрипт, подсчитывающий в заданной строке количество букв а, Н...

Создание .sql скрипта
Здраствуйте уважаемие форумчане. Столкнулся с задачей генерации скрипта с помощью T-SQL. Есть...

Создание скрипта по тексту
Добры день! Как написать такой скрипт, который бы генерировал текст в соответствие с прописанной...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru