Подскажите почему не работает код

Печать RSS
387

Автор
Дух
0
<?PHP
echo '<head><meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/></head><body>';


switch ($m) {

default:

echo "Редактирование файла<br/>";
$file = "r.txt";
$edit = fopen("$file","r+");
$dat = fread($edit,filesize($file));
echo '<form action="r.php?m=ok" method="POST">
<textarea cols="40" rows="10" name="edit" maxlength="1000000000">'.$dat.'</textarea><br/>';
echo '<input type="submit" name="submit" class="buttom" value="Coxpaнить">
</form>';

break;

case 'ok':

echo "Редактирование файла<br/>";
$edit = $_POST['edit'];
$file = "r.txt";
$write = fopen($file,"w+");
fwrite($write,$edit);
fclose($write);
echo "Дaнныe coxpaнeны<br/>";

break;

}


echo "</body></html>";
?>

Добавлено через 01:08 сек.
Хочу сделать редактирование файла, а он не редактируется и еще показывает ошибку http://ru-coin.ofsoo.ru/r.php
Y

Землянин
0
у тебя что за система windows или linux?, если windows попробуй указать в режиме мода "rb"
$edit = fopen("$file","rb");
Изменил: YouMobe (09.03.2014 / 09:52)
Автор
Дух
0
2. YouMobe, поставил, ничего не изменилось. Помоему тут еще есть проблема с switch-case, только как ее исправить, понять не могу
S

Пришелец
0
ты не через POST a через GET попробуй у меня так было

Добавлено через 01:32 сек.
$text = htmlspecialchars(trim($_GET['text']));


ДОбавь
Автор
Дух
0
4. sanya-rus, не помогло. Я не пойму, почему я меня не перекидывает сюда http://ru-coin.ofsoo.ru/r.php?m=ok , когда жму "сохранить"

Добавлено через 03:41 сек.
Там должно вылезти "данные сохранены", а выходит исходная страница с формой
Y

Землянин
0
Warning: fread(): Length parameter must be greater than 0 in /home/u161672528/public_html/r.php on line 12 - Он говорит что в файле r.txt 0 параметров, напиши туда что нибудь для интереса, видимо там хоть один байт должен быть..
Изменил: YouMobe (09.03.2014 / 10:29)
Автор
Дух
0
6. YouMobe, да, а надо сделать чтобы небыло ошибки, даже если он пустой
Y

Землянин
0
наверно условие надо создать, щас попробую
Изменил: YouMobe (09.03.2014 / 10:59)
Автор
Дух
0
8. YouMobe, ага, ну или на крайняк проверку, если форма пустая то предупреждение
Y

Землянин
0
попробуй так
        $filesize = filesize($file);
        $file = $filesize > 0 ? $filesize : 1;
        $dat = fread($edit,$file);

Добавлено через 06:05 сек.
В мануалах читал что в функции fread() во втором параметре не должен быть 0
Поэтому пришлось писать условие которое в любом случаи будет считывать файл r.txt, если он пустой то передаст 1 для того что придерживаться регламента функции fread()
Изменил: YouMobe (09.03.2014 / 11:14)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск