Загрузка и редактирование файлов PHP - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть сайт, и я делаю систему управления контентом для сайта. Мне нужно загрузить файл .txt и затем иметь возможность редактировать этот файл на веб-сайте. пока у меня есть это:

<?php
        $myFile = fopen("welcome-content.txt", 'r');
        while (($buffer = fgets($myFile)) !== false) {
            echo "<p>";
            echo $buffer;
            echo "</p>";
        }
        fclose($myFile);
    ?>

Это может загрузить файл, но мне нужно иметь имя файла "welcome-content.txt", я хочу иметь возможность выбрать файл в проводнике, загрузить его и затем иметь возможность отредактируйте это. Правильно ли я считаю, что мне нужна форма HTML для выбора файла? Но что касается всего остального, я не уверен, куда идти дальше.

Любые советы?

1 Ответ

0 голосов
/ 26 апреля 2018

Создать HTML-форму для выбора файла для загрузки:

<form enctype="multipart/form-data" method="post" action="test_php.php">
   <input id="image-file" name="image-file" type="file" />
   <input type="submit" value="submit" id="submit" />
</form>

Введите php-код для обработки загрузки и изменения файла:

<?php

if ( !isset($_FILES['image-file']['error']) || is_array($_FILES['image-file']['error']) ) 
{
    throw new RuntimeException('Invalid parameters.');
}

// Check $_FILES['image-file']['error'] value.
switch ($_FILES['image-file']['error']) 
{
    case UPLOAD_ERR_OK:
        break;
    case UPLOAD_ERR_NO_FILE:
        throw new RuntimeException('No file sent.');
    case UPLOAD_ERR_INI_SIZE:
    case UPLOAD_ERR_FORM_SIZE:
        throw new RuntimeException('Exceeded filesize limit.');
    default:
        throw new RuntimeException('Unknown errors.');
}

// Check filesize here. 
if ($_FILES['image-file']['size'] > 1000000) 
{
    throw new RuntimeException('Exceeded filesize limit.');
}
$filename = $_FILES['image-file']['name'];

echo "Filename is $filename <br>";

//Add new line
$f = fopen($filename,"a"); // Append mode
fwrite($f, "Added new line\n");
fclose($f);

echo "After modify file content is: <br>";
echo file_get_contents( $filename );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...