Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
andreyananas
22 / 22 / 11
Регистрация: 15.10.2013
Сообщений: 862
Завершенные тесты: 2
1

Календарь событий на PHP

11.05.2016, 16:38. Просмотров 1166. Ответов 15
Метки нет (Все метки)

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


1. Создать текстовый файл.

Исходный текстовый файл имеет следующий формат:
21.01.01 / 12:00 / подготовка к сессии
22..01.01 / 14:00 / сдача сессии
23.01.01 / 15:00 / гуляй
...
...
...

2. Открыть файл, считать данные
.

Данные должны отображаться в браузере в виде таблицы.

3.При написании программы нужно учесть следующие исключения:

1) текстового файла может не быть;
2) Могут быть ошибки при составлении текстового файла.



П.С. для меня PHP что то новое. Только недавно познакомился с html, css и javascript. Пользовался Sublime T3, но под PHP установил NetBeans 8.1, JDK, WampServer 2.5.
Вообщем нужна ваша помощь. Заранее спасибо.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2016, 16:38
Ответы с готовыми решениями:

Календарь на php
Кому не трудно напишите код календаря на php.ОЧЕНЬ НАДО

Календарь на PHP
Доброе время суток, столкнулся с такой проблемой изменение календаря на PHP <? ...

Календарь на php
есть скрипт календаря <?php ...

Календарь на php
Вообщем у меня проблема, мне надо сделать календарь и чтобы при нажатии на...

Свой календарь на php c подсветкой дней
Я новичок в программировании. Решил попробовать написать свой календарь. Хочу...

15
Jodah
Эксперт PHP
2847 / 2479 / 1056
Регистрация: 01.08.2012
Сообщений: 8,771
11.05.2016, 16:47 2
В чём именно нужна помощь?
1
andreyananas
22 / 22 / 11
Регистрация: 15.10.2013
Сообщений: 862
Завершенные тесты: 2
11.05.2016, 16:52  [ТС] 3
Цитата Сообщение от Jodah Посмотреть сообщение
В чём именно нужна помощь?
Цитата Сообщение от andreyananas Посмотреть сообщение
2. Открыть файл, считать данные.
Данные должны отображаться в браузере в виде таблицы.
Суть темы видимо в этом.
0
Jodah
Эксперт PHP
2847 / 2479 / 1056
Регистрация: 01.08.2012
Сообщений: 8,771
11.05.2016, 16:54 4
Цитата Сообщение от andreyananas Посмотреть сообщение
2. Открыть файл, считать данные.
file
Цитата Сообщение от andreyananas Посмотреть сообщение
Данные должны отображаться в браузере в виде таблицы.
Обычный вывод массива, foreach и echo.
1
Пифагор
Модератор
1218 / 1008 / 529
Регистрация: 10.01.2015
Сообщений: 3,395
11.05.2016, 17:04 5
PHP
1
2
3
4
5
6
7
8
if(file_exists('1.txt') && is_readable('1.txt')){
    $file = file('1.txt');
    foreach ($file as $item) {
        $item_new = explode(" / ", $item)
            echo "Дата: $item_new[0]\nВремя: $item_new[1]\nСобытие: $item_new[2]\n";
    }
}
else echo 'Файла не существует или он не читаем';
Цитата Сообщение от andreyananas Посмотреть сообщение
2) Могут быть ошибки при составлении текстового файла.
не совсем понятно

Добавлено через 8 минут
PHP
1
2
3
4
5
6
7
8
if(file_exists('1.txt') && is_readable('1.txt')){
    $file = file('1.txt');
    foreach ($file as $item) {
        $item_new = explode(" / ", $item);
            echo "Дата: $item_new[0]\nВремя: $item_new[1]\nСобытие: $item_new[2]\n";
    }
}
else echo 'Файла не существует или он не читаем';
1
andreyananas
22 / 22 / 11
Регистрация: 15.10.2013
Сообщений: 862
Завершенные тесты: 2
11.05.2016, 17:12  [ТС] 6
Цитата Сообщение от Пифагор Посмотреть сообщение
не совсем понятно
Имеется введу, что программа должна выдать ошибку, если формат данных в файле некорректен.
0
Пифагор
Модератор
1218 / 1008 / 529
Регистрация: 10.01.2015
Сообщений: 3,395
11.05.2016, 17:18 7
Цитата Сообщение от andreyananas Посмотреть сообщение
Имеется введу, что программа должна выдать ошибку, если формат данных в файле некорректен.
Какая именно некорректность может быть?

PS
Я вижу только одну возможную некорректность:
если разделитель "21.01.01 / 12:00 / подготовка к сессии" будет отличный от пробел/пробел, то будет некорректный вывод.
При изначальной записи в файл обычно такого не происходит.
Если такое произойдет, то просто надавать по рукам тому, кто заполнял этот файл
0
andreyananas
22 / 22 / 11
Регистрация: 15.10.2013
Сообщений: 862
Завершенные тесты: 2
11.05.2016, 17:33  [ТС] 8
Цитата Сообщение от Пифагор Посмотреть сообщение
если разделитель "21.01.01 / 12:00 / подготовка к сессии" будет отличный от пробел/пробел, то будет некорректный вывод.
При изначальной записи в файл обычно такого не происходит.
Если такое произойдет, то просто надавать по рукам тому, кто заполнял этот файл
С такой постановкой вопроса я абсолютно согласен.
Но имеется введу, что если в файле записано "21.01.01 / привет / подготовка к сессии", где привет вместо времени, тогда на это нужно отреагировать.
Другими словами: программа должна не исключать рукожопство писавшего файл.
0
Пифагор
Модератор
1218 / 1008 / 529
Регистрация: 10.01.2015
Сообщений: 3,395
11.05.2016, 17:54 9
Как по Вашим словам, так надо проверять чуть ли не каждый символ.
Тут регулярка в помощь. Дерзайте.

Добавлено через 7 минут
Гипотетически, есть такой вариант:
Наполнять текстовый файл специально обученному человеку из формы ввода. После отсыла запроса проверять на корректность введенных данных, типа int или string и т д.
Далее резать все пробелы, соединять строки имплоидом через / и писать в файл новой строкой.
Вот тогда проблем не будет.
0
andreyananas
22 / 22 / 11
Регистрация: 15.10.2013
Сообщений: 862
Завершенные тесты: 2
11.05.2016, 18:03  [ТС] 10
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        <?php
            $fname = '1.txt';
            $delim = '/';
            if(file_exists($fname) && is_readable($fname)){
                $file = file($fname);
                foreach ($file as $item) {
                    $newItem = explode($delim, $item);
                    echo "Дата: $newItem[0] Время: $newItem[1] Событие: $newItem[2]";
                }
            }
            else{
                echo "File not found!";
            }
        ?>
В итоге:
0
Миниатюры
Календарь событий на PHP  
Пифагор
Модератор
1218 / 1008 / 529
Регистрация: 10.01.2015
Сообщений: 3,395
11.05.2016, 18:07 11
А что в итоге? В итоге кодировка не та. И кодировка не та, вероятнее всего, у текстового файла.

Добавлено через 1 минуту
Откройте в notepad++ и преобразуйте файл в utf-8 без BOM
1
andreyananas
22 / 22 / 11
Регистрация: 15.10.2013
Сообщений: 862
Завершенные тесты: 2
11.05.2016, 19:02  [ТС] 12
Цитата Сообщение от Пифагор Посмотреть сообщение
Откройте в notepad++ и преобразуйте файл в utf-8 без BOM
Спасибо!

С работой PHP с файлами понятно.
Теперь это нужно интегрировать в таблицу на условном сайте:

PHPHTML
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
<html>
    <head>
        <meta charset="UTF-8">
        <title>test (PHP)</title>
    </head>
    <body>
        <?php
            $fname = '1.txt';
            $delim = '/';
            if(file_exists($fname) && is_readable($fname)){
                $file = file($fname);
                foreach ($file as $item) {
                    $newItem = explode($delim, $item);
                    //echo '<pre>';
                    //echo "Дата: $newItem[0] Время: $newItem[1] Событие: $newItem[2]";
                    //echo '</pre>';
                }
            }
            else{
                echo "File not found!";
            }
        ?>
        
        <table border ="1">
            <tr>
                <th>Дата:</th>
                <th>Время:</th>
                <th>Событие:</th>
            </tr>
            <tr>
                <td></td>
                <td></td>
                <td></td>
            </tr>
        </table>
    </body>
</html>

Как с этом быть? Ведь и количество строк таблицы зависит от работы с файлом...
0
Пифагор
Модератор
1218 / 1008 / 529
Регистрация: 10.01.2015
Сообщений: 3,395
11.05.2016, 19:54 13
Лучший ответ Сообщение было отмечено andreyananas как решение

Решение

PHPHTML
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
<html>
    <head>
        <meta charset="UTF-8">
        <title>test (PHP)</title>
    </head>
    <body>
<?php
$fname = '1.txt';
$delim = '/';
if(file_exists($fname) && is_readable($fname)){
        $file = file($fname);
        echo "<table border = '1'>
        <tr>
        <th>Дата:</th>
        <th>Время:</th>
        <th>Событие:</th>
        </tr>";
        foreach ($file as $item) {
                $newItem = explode($delim, $item);
                echo "<tr>
                <td>$newItem[0]</td>
                <td>$newItem[1]</td>
                <td>$newItem[2]</td>
                </tr>";
        }
        echo '</table>';
}
else{
        echo "File not found!";
}
?>
</body>
</html>
1
mix9
17 / 17 / 8
Регистрация: 16.01.2016
Сообщений: 55
11.05.2016, 20:06 14
Цитата Сообщение от andreyananas Посмотреть сообщение
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<table border ="1">
    <tr>
        <th>Дата:</th>
        <th>Время:</th>
        <th>Событие:</th>
    </tr>
<?foreach ($file as $item):?>
    <tr>
        <td><?= $newItem[0]?></td>
        <td><?= $newItem[1]?></td>
        <td><?= $newItem[2]?></td>
    </tr>
<?endforeach;?>
</table>
как-то так. // звездочки поставило цитирование
1
andreyananas
22 / 22 / 11
Регистрация: 15.10.2013
Сообщений: 862
Завершенные тесты: 2
11.05.2016, 20:46  [ТС] 15
Все довольно просто. Спасибо всем за помощь, особенно Пифагору!
0
andreyananas
22 / 22 / 11
Регистрация: 15.10.2013
Сообщений: 862
Завершенные тесты: 2
24.05.2016, 20:41  [ТС] 16
Народ, помогите все таки с проверкой на ошибки формата файла.
То бишь если в файле лишний "/" или его совсем нету, программа должна показывать ошибку.
0
24.05.2016, 20:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2016, 20:41

Календарь PHP, все числа вторника года
в базе есть дни недели, и надо узанить число каждого вторника недели? например...

Календарь на php
Доброго времени суток! Помогите, пожалуйста, исправить код календаря. Мне...

PHP календарь с выбором диапазона дат бронирования
Здравствуйте. Посмотрел по форуму и не нашел ничего похожего. Мне на лето дали...


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

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

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