Задать вопрос
@mfcade1

На отдельной странице реализовать чтение файла в отформатированном виде. Программа есть что не так в ней?

Создать html форму с полями: дата новости, название новости, аннотация новости, автор новости, картинка для новости. Написать скрипт, который сохраняет введенную информацию в файл на сервере, файл с картинкой сохраняет в папке Images, всю информацию добавляет в формате json. На отдельной странице реализовать чтение файла в отформатированном виде.
Не знаю как реализовать чтение файла, что то не то происходит.
вот код
Файл form.php
<form enctype="multipart/form-data" method="POST">
    <p>Дата: <br><input type="text" name="date" pattern="[0-9]{2}\.[0-9]{2}\.[0-9]{4}" /><br>01.01.2000</p>
    <p>Тема: <br><input type="text" name="tema" /></p>
    <p>Аннотация: <br><textarea name="annotas"></textarea></p>
    <p>Автор: <br><input type="text" name="avtor" /></p>
    <p>Изображение: <br><input type="file" name="img_news" /></p>
    <p><input type="submit" name ="submit" value="Сохранить"></p>
</form>
<?php
$data =     isset($_POST['date']) ? $_POST['date'] : null;
$tema =     isset($_POST['tema']) ? $_POST['tema'] : null;
$annotas =  isset($_POST['annotas']) ? $_POST['annotas'] : null;
$avtor =    isset($_POST['avtor']) ? $_POST['avtor'] : null;
$img_news = isset($_POST['img_news']) ? $_POST['img_news'] : null;
 
if (($data != null) && ($tema != null) && ($annotas != null) && ($avtor != null)){
    $file = file_get_contents('MyFile.json');  // Открыть файл data.json
    $taskList = json_decode($file,TRUE);        // Декодировать в массив 
    unset($file);                               // Очистить переменную $file
 
    $taskList[] = array( 
            'tema' => $tema,
            'annotas' => $annotas,
            'data' => $data,
            'avtor' => $avtor,
        );        // Представить новую переменную как элемент массива, в формате 'ключ'=>'имя переменной'
 
 
    file_put_contents('MyFile.json',json_encode($taskList));  // Перекодировать в формат и записать в файл.
    unset($taskList);
}
else
    echo "Не все поля заполнены";
?>
<?php
if (isset($_POST['submit']) and $_FILES) {
move_uploaded_file($_FILES['img_news']['tmp_name'], "uploud/".$_FILES['img_news']['name']);
echo 'Файл успешно сохранен';
} else echo 'error';
print_r ($_FILES);
?>


Файл lab7.php
<?php
$file = file_get_contents('MyFile.json');     // Открыть файл MyFile.json
$taskList = json_decode($file, TRUE);              // Декодировать в массив 
unset($file);
 
foreach ($taskList as $key => $value){ 
    foreach ($value as $Pole => $Znach){
            switch ($Pole) {
            case tema:
                $tema = $Znach;
                break;
            case annotas:
                $annotas = $Znach;
                break;
            case data:
                $data = $Znach;
                break;
            case avtor:
                $avtor = $Znach;
                break;
            }
    }
    echo $tema."<br>";
    echo "Аннотация:<br>".$annotas."<br>";
    echo "Дата: ".$data."<br>";
    echo "Автор: ".$avtor;
}
unset($taskList);
?>
  • Вопрос задан
  • 143 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы