На странице "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
никогда не создается.
Похоже, что "/files/test.html"
- это абсолютный путь. Вы пробовали "files/test.html"
?
Мне жаль, что я не могу комментировать, что сказал Брэннон, у меня пока нет репутации. Но к сути:
Есть две возможности:
cd /path/to/root/folder
). Затем введитеls -la
и рядом с каждым файлом / папкой должен появиться список символов, например-rwxrwxrwx
. Вы хотите убедиться, что папкаfiles
содержит не менее трех символовw
в этом списке. Вы можете прочитать больше о разрешениях и как их изменить здесь