Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> при записи в файл, перевд всем ' ставится \, не наю как пофиксить. 
:(
    Опции темы
137
Дата 23.10.2007, 19:45 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 15.9.2007

Репутация: нет
Всего: нет



Добрый вечер.
собсно кусок кода
Код

if($file=fopen("../index.php", "wt")){
    fputs($file, $mainpage);
    fclose($file);
    $target='index2.php?menu_id=2';
}

после записи перед всем ' и " в файли получаются \ . Подскажите плиз как пофиксить...
PM MAIL   Вверх
PARROT
Дата 23.10.2007, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Вообще этого куска кода мало, неизвестно что там в $mainpage
Код

<?php
$filename = 'test.txt';
$somecontent = "Добавить это к файлу\n";

// Вначале давайте убедимся, что файл существует и доступен для записи.
if (is_writable($filename)) {

    // В нашем примере мы открываем $filename в режиме "дописать в конец".
    // Таким образом, смещение установлено в конец файла и
    // наш $somecontent допишется в конец при использовании fwrite().
    if (!$handle = fopen($filename, 'a')) {
         echo "Не могу открыть файл ($filename)";
         exit;
    }

    // Записываем $somecontent в наш открытый файл.
    if (fwrite($handle, $somecontent) === FALSE) {
        echo "Не могу произвести запись в файл ($filename)";
        exit;
    }
    
    echo "Ура! Записали ($somecontent) в файл ($filename)";
    
    fclose($handle);

} else {
    echo "Файл $filename недоступен для записи";
}
?> 



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
SelenIT
Дата 23.10.2007, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



137, вы стали очередной жертвой магического заклятия под названием "волшебные кавычки" (magic_quotes). Изначально оно было призвано защитить неопытных разработчиков от SQL-инъекций, но по недомыслию было наложено не на то место и вышло из-под контроля.

Защитные заклинания против этой беды описаны здесь.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
137
Дата 23.10.2007, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 15.9.2007

Репутация: нет
Всего: нет



вопрос не в том: как записать в файл. а как сделать так чтобы перед ' и " не ставились слэши \...
но и за это спасибо..
SelenIT огромное спасибо

Это сообщение отредактировал(а) 137 - 23.10.2007, 20:17
PM MAIL   Вверх
PARROT
Дата 23.10.2007, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата

stripslashes


Добавлено @ 20:17
http://ru.php.net/manual/ru/function.stripslashes.php

Просто у Вас запись в файл интересная. 


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
137
Дата 23.10.2007, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 15.9.2007

Репутация: нет
Всего: нет



а что в  записи не так?
PM MAIL   Вверх
SeriousIG
Дата 27.2.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.8.2007

Репутация: нет
Всего: нет



такая же проблема. ладно у себя на компе можно найти php.ini, но у хостера? сможет ли он, или даже, захочет ли его изменить?!!  smile 
PM MAIL WWW   Вверх
flashaa
Дата 27.2.2008, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



SeriousIG, можно во время работы скрипта исправить почти любую настройку. Функция ini_set вам в помощь

Это сообщение отредактировал(а) flashaa - 27.2.2008, 14:48
PM MAIL   Вверх
SeriousIG
Дата 27.2.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.8.2007

Репутация: нет
Всего: нет



Спасибо работает!  smile 
Вот код, кому надо:


Код

$f=ini_set( "magic_quotes_runtime", 1 );
if($f = false)
{
    echo 'Директива magic_quotes_runtime не меняет значение';
}

PM MAIL WWW   Вверх
GeneralElectric
Дата 27.2.2008, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



SeriousIG, "та же проблема" была решена полгода назад.
почему нальзя было воспользоваться тем решением, а надо было писать в форум - загадка.

Так же, непонятно, почему "та же проблема" заключается в magic_quotes_runtime, а не magic_quotes_gpc, а, главное - пчему установкой, а не сбросом этой настройки.
PM MAIL   Вверх
dm9
Дата 28.2.2008, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 2
Всего: 137



Раньше пользовался кодом, который $_GET, $_POST и проч. "разэкранирует".

Сейчас просто в .htaccess добавляю 2 строки:
php_value magic_quotes_gpc 0
php_value magic_quotes_runtime 0

PM MAIL ICQ   Вверх
SeriousIG
Дата 28.2.2008, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.8.2007

Репутация: нет
Всего: нет



GeneralElectric. Поиском воспользовался и наткнулся на это сообщение, где обсуждалась та же проблема!

Директиву magic_quotes_gpc нельзя менять из скрипта. А то, что работает magic_quotes_runtime, тоже был удивлен.
http://ua.php.net/manual/ru/ini.php#ini.list

А насчет добавления в .htaccess у меня выдавалась ошибка 500.

Это сообщение отредактировал(а) SeriousIG - 28.2.2008, 21:31
PM MAIL WWW   Вверх
BIG BROTHER
Дата 28.2.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 9.12.2004
Где: Россия, Москва

Репутация: 2
Всего: 4



можно просто вырезать кавычки перед выводом данных...пусть стоит magic_quotes, мало-ли сгодиться, от нормального хакера не защитит, конечно, но все же...
--------------------
Mess with the best, die like the rest
PM MAIL ICQ   Вверх
GeneralElectric
Дата 28.2.2008, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Цитата(SeriousIG @  28.2.2008,  21:30 Найти цитируемый пост)
наткнулся на это сообщение, где обсуждалась та же проблема!

а что ж ты на решение не наткнулся?

Цитата(SeriousIG @  28.2.2008,  21:30 Найти цитируемый пост)
Директиву magic_quotes_gpc нельзя менять из скрипта. А то, что работает magic_quotes_runtime

ты до сих пор не определился, какую из них тебе надо было отключить?

Цитата(SeriousIG @  28.2.2008,  21:30 Найти цитируемый пост)
тоже был удивлен.

удивляться не надо. надо немного подумать. есть ли смысл делать magic_quotes_gpc в скрипте.

у меня вообще складывается такое подозрение, что ты не понял значения этих директив, по-моему.
учитывая же, что runtime по дефолу стоит в 0, то проблемы твою, как и "решение" я до сих пор не понял.

PM MAIL   Вверх
SeriousIG
Дата 28.2.2008, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.8.2007

Репутация: нет
Всего: нет



Цитата(GeneralElectric @ 28.2.2008,  20:51)
у меня вообще складывается такое подозрение, что ты не понял значения этих директив, по-моему.
учитывая же, что runtime по дефолу стоит в 0, то проблемы твою, как и "решение" я до сих пор не понял.

GeneralElectric В моем случае применение этой директивы в скрипте оправданны. В подробности вдаваться не буду!
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.