Как получить значение <textarea> с помощью POST и сохранить в файл?

0

На странице "index.php" у меня есть следующий html:

<form class="centerd" method="post" action="upload.php" enctype="multipart/form-data">
    <textarea id="html" type="text" name="html-text"></textarea>
    <input type="submit" value="upload"/>
</form>

На странице "upload.php" у меня есть следующий код PHP:

<?php
file_put_contents("/files/test.html", htmlspecialchars($_POST['html-text']));
?>
<h1>From the textbox:</h1>
<? echo htmlspecialchars($_POST['html-text']); ?>

Я хочу, чтобы текст из текстового поля отображался после <h1>, и я хочу /files/test.html быть создан (/files/ уже существует) и текст из текстового поля, которое нужно поместить в test.html файл.

Что на самом деле происходит, это то, что находится в текстовом поле, появляется после <h1>, но /files/test.html никогда не создается.

Теги:
textarea
post

2 ответа

4

Похоже, что "/files/test.html" - это абсолютный путь. Вы пробовали "files/test.html"?

  • 0
    Да, я пробовал это, и это не работает.
  • 0
    Вы проверили свои разрешения для папки? Перейдите к своему терминалу и перейдите в папку ( cd /path/to/root/folder ). Затем введите ls -la и рядом с каждым файлом / папкой должен появиться список символов, например -rwxrwxrwx . Вы хотите убедиться, что папка files содержит не менее трех символов w в этом списке. Вы можете прочитать больше о разрешениях и как их изменить здесь
Показать ещё 3 комментария
0

Мне жаль, что я не могу комментировать, что сказал Брэннон, у меня пока нет репутации. Но к сути:

Есть две возможности:

  1. Как сказал Браннон, ваш путь кажется неправильным.
  2. У вас нет разрешения на запись (создание) файлов в вашем каталоге. Это, по моему опыту, может быть распространенной ошибкой для пользователей Mac, которые не предоставили разрешения в своей папке htdocs.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню