Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запись в текстовый файл.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: проблемка.
darkhero
Отправлено: 05 Ноября, 2008 - 17:20:36
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2008  


Помог: 0 раз(а)

[+]


Заранее извиняюсь за ламерский вопрос, но возникла одна проблемка.
Предположим, я пока не имею возможность использовать базу данных, поэтому содержимое страницы берётся из txt файла с помощью readfile().
Следующий мой шаг - сделать редактирование этого файлика через форму на страничке.
Форма обрабатывается следующим образом ( $source передаётся из text area POSTом):
CODE (text):
скопировать код в буфер обмена
  1.  
  2. ...<?php
  3. switch ($action){
  4. case "add" :
  5.   $source=$_REQUEST['source'];
  6.   $file = fopen($current_file,"a+");
  7.   ftruncate($file, 0);
  8.   fwrite ($file,$source);
  9.   fclose($file);break;
  10. default: echo "изменения не произведены!" ;}
  11. ?>
  12.  


И вроде всё нормально, содержимое формы пишется. НО. Стоит только попытаться вставить в форму теги и сохранить это в текстовый документ, как перед каждой кавычкой ставится "\". Соответственно, полученная страница, которая берёт содержимое из этого файла, показывается криво и косо.
Помогите, пожалуйста.

(Отредактировано автором: 06 Ноября, 2008 - 14:37:03)

 
 Top
vitaliy_mad
Отправлено: 05 Ноября, 2008 - 18:15:21
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




При передаче по протоколу HTTP некотрые символы служебные экранируются символом "\" просто перед записью тебе надо надо произвести обратную процедуру
например так...

попробуй так но в синтаксисе регулярного выражения могу и ошибаться...
 
 Top
NVK Designer
Отправлено: 06 Ноября, 2008 - 11:57:16
Post Id



Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Окт. 2008  
Откуда: Россия, Саратов


Помог: 1 раз(а)




Поможем:

$source = stripslashes($source);
 
 Top
darkhero
Отправлено: 06 Ноября, 2008 - 12:49:18
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2008  


Помог: 0 раз(а)

[+]


NVK Designer, спасибо, работает.
vitaliy_mad, тоже спасибо, тоже работает. Улыбка
 
 Top
vitaliy_mad
Отправлено: 06 Ноября, 2008 - 13:01:27
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




darkhero в принципе я забыл про фукнцию кторую предложил NVK Designer и то что я написал - это ее некоректная реализация... поэтому лучше использовать функцию stripslashes()
 
 Top
darkhero
Отправлено: 06 Ноября, 2008 - 14:35:41
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2008  


Помог: 0 раз(а)

[+]


vitaliy_mad, ОК.
 
 Top
valenok
Отправлено: 06 Ноября, 2008 - 16:33:43
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




лучше как раз отключить magic_quotes_gpc


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB