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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Хранение шаблонов Smarty

Сообщения:  [1-10]    [11-20]  [21-27] 

 
 автор: Thrasher   (20.09.2007 в 11:55)   письмо автору
 
   для: sim5   (20.09.2007 в 11:35)
 

Да нет, о Смарти речь уже не идет, он здесь совсем не при чем.
Проблема обозначилась другая: нужно через панель управления, т.е. через форму, править содержимое любого текстового файла. Так вот для записи изменений файл я открывал в текстовом режиме (кот. как раз и учитывает различие знаков перевода строк в Windows и Unix). Но, как ни странно, корректная запись текта в файл происходит в бинарном режиме, вот это не ожиданный эффект.

   
 
 автор: sim5   (20.09.2007 в 11:35)   письмо автору
 
   для: Thrasher   (20.09.2007 в 11:24)
 

Нет не правильно понимаете - в Windows это будет именно 0D0A, а в Unix это \r\n.
Окуда берутся, ну когда вы готовите шаблоны. Подключая их как файлы, а это ведь чистый HTML, все эти переводы будут игнорироваться. Но вот когда вы этот HTML-код "запихиваете" в текст, вот тут они у вас и выползают. Я так понимаю проблему. Могу быть и не прав, потому как не делал такого, да и не стал бы. По моему вы лишнее делаете, не встречал я такой проблемы у Смарти. Вы наверное не разобравшись, усложнили себе жизнь :)

   
 
 автор: Thrasher   (20.09.2007 в 11:32)   письмо автору
 
   для: Thrasher   (20.09.2007 в 11:24)
 

What the fucking?!!!
Только что исправил режим открытия файла на запись с текстового t на бинарный b.
Проблема на локальной машине исчезла. Странно, ведь это же текстовые, а не бинарные данные и работать они должны в текстовом режиме передачи данных...

   
 
 автор: Thrasher   (20.09.2007 в 11:24)   письмо автору
 
   для: sim5   (19.09.2007 в 18:00)
 

>Вы полученный текст HEX-редактором просмотрите - поймете, думаю что проблема в них и вы увидите в конце каждой строки код 0D0A.

Я так понимаю это коды символов \r\n?
Но откуда они берутся дополнительные?

   
 
 автор: sim5   (19.09.2007 в 18:00)   письмо автору
 
   для: Thrasher   (19.09.2007 в 17:56)
 

Вы полученный текст HEX-редактором просмотрите - поймете, думаю что проблема в них и вы увидите в конце каждой строки код 0D0A.

   
 
 автор: Thrasher   (19.09.2007 в 17:56)   письмо автору
 
   для: sim5   (19.09.2007 в 17:41)
 

>Проблемы в кодах перевода строк видимо, уберите их и все будет в норме, они разные для win и unix, смарти то тут при чем?

Не понял: что и как убрать?
Смарти, конечно, ни при чём. Просто, когда я сохраняю текст из <textarea> в БД, а не в файл, никаких дополнительных символов не возникает.

   
 
 автор: sim5   (19.09.2007 в 17:41)   письмо автору
 
   для: Thrasher   (19.09.2007 в 17:26)
 

Проблемы в кодах перевода строк видимо, уберите их и все будет в норме, они разные для win и unix, смарти то тут при чем?

   
 
 автор: Thrasher   (19.09.2007 в 17:26)   письмо автору
 
   для: sim5   (19.09.2007 в 17:12)
 

>Что-то у меня под Windows, Денвер ничего лишнего не появляется, о каких строках идет речь?

Читаю из файла шаблона данные с помощью file_get_contents($file).
Вставляю это в <textarea>.
Там html-код шаблона можно исправить, и далее записываю исправленный код шаблона обратно в файл так:

$f = fopen($file, "r+t");
flock($f, LOCK_EX);
ftruncate($f, 0);
fseek($f, 0, SEEK_SET);
fwrite($f, $text);
fclose($f);

На локальной машине в файле после каждой строки появляется еще одна пустая строка.
На хостинге пустых строк нет, всё как надо сохраняется.

   
 
 автор: sim5   (19.09.2007 в 17:12)   письмо автору
 
   для: Thrasher   (19.09.2007 в 15:54)
 

Что-то у меня под Windows, Денвер ничего лишнего не появляется, о каких строках идет речь?

   
 
 автор: Loki   (19.09.2007 в 16:31)   письмо автору
 
   для: Thrasher   (19.09.2007 в 14:49)
 

Не задачу надо под собственные знания подгонять, а знания под задачу.

   

Сообщения:  [1-10]    [11-20]  [21-27] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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