Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сохрание локального пути
 
 автор: semenaua   (11.05.2008 в 19:21)   письмо автору
 
 

Доброго времени суток.
Нуждаюсь в Вашей помощи в таком вопросе.
Есть код
 $signature='    <Signature>c:\bla-bla\tata.txt</Signature>'."\n".'';
    $fp=fopen("project.xml", "w+");
    fputs($fp, $signature);
    fclose($fp); chmod ("project.xml", 0777);

В итоге в файле сохраняется не c:\bla-bla\tata.txt а c:bla-blatata.txt . Т.е. почему-то удаляются символы "\", я думаю что это из-за того что с символа \ начинаются знак табуляции и новой строки
т.е. \t и \n
Помогите с решением.
Заранее благодарен.

   
 
 автор: Trianon   (11.05.2008 в 19:33)   письмо автору
 
   для: semenaua   (11.05.2008 в 19:21)
 

В строках нужно обратными слэшами экранировать обрамляющие кавычки и сами обратные слэши.
Первую строку кода проще переписать так:
$signature="    <Signature>c:\\bla-bla\\tata.txt</Signature>\n"; 

   
 
 автор: semenaua   (11.05.2008 в 19:44)   письмо автору
 
   для: Trianon   (11.05.2008 в 19:33)
 

Переписанная строчка тоже не работает.
А как экранировать кавычки?

   
 
 автор: Trianon   (11.05.2008 в 19:57)   письмо автору
 
   для: semenaua   (11.05.2008 в 19:44)
 

Откровенно говоря, я тоже подумал меньше, чем следовало.
Оба варианта (и Ваш и мой ) должны одинаково хорошо укладывать строку в файл.
Что, собственно и происходит.

   
 
 автор: sim5   (11.05.2008 в 19:58)   письмо автору
 
   для: semenaua   (11.05.2008 в 19:44)
 

Не понятно, какая тут может быть проблема. Что на локальном под Win работает, что под Unix. Зачем экранировать слеши? Вот результат -->

   
 
 автор: waptanet   (11.05.2008 в 19:33)   письмо автору
 
   для: semenaua   (11.05.2008 в 19:21)
 

неуказан аргумент length для функции fputs или включена magic_quotes_runtime ...

   
 
 автор: Trianon   (11.05.2008 в 19:39)   письмо автору
 
   для: waptanet   (11.05.2008 в 19:33)
 

а если подумать? :)

   
 
 автор: semenaua   (11.05.2008 в 19:54)   письмо автору
 
   для: Trianon   (11.05.2008 в 19:39)
 

Нашел способ - использовать file_put_contents

   
 
 автор: waptanet   (11.05.2008 в 19:34)   письмо автору
 
   для: semenaua   (11.05.2008 в 19:21)
 

упс ..

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования