|
|
|
|
|
для: sim5
(20.09.2007 в 11:35)
| | Да нет, о Смарти речь уже не идет, он здесь совсем не при чем.
Проблема обозначилась другая: нужно через панель управления, т.е. через форму, править содержимое любого текстового файла. Так вот для записи изменений файл я открывал в текстовом режиме (кот. как раз и учитывает различие знаков перевода строк в Windows и Unix). Но, как ни странно, корректная запись текта в файл происходит в бинарном режиме, вот это не ожиданный эффект. | |
|
|
|
|
|
|
|
для: Thrasher
(20.09.2007 в 11:24)
| | Нет не правильно понимаете - в Windows это будет именно 0D0A, а в Unix это \r\n.
Окуда берутся, ну когда вы готовите шаблоны. Подключая их как файлы, а это ведь чистый HTML, все эти переводы будут игнорироваться. Но вот когда вы этот HTML-код "запихиваете" в текст, вот тут они у вас и выползают. Я так понимаю проблему. Могу быть и не прав, потому как не делал такого, да и не стал бы. По моему вы лишнее делаете, не встречал я такой проблемы у Смарти. Вы наверное не разобравшись, усложнили себе жизнь :) | |
|
|
|
|
|
|
|
для: Thrasher
(20.09.2007 в 11:24)
| | What the fucking?!!!
Только что исправил режим открытия файла на запись с текстового t на бинарный b.
Проблема на локальной машине исчезла. Странно, ведь это же текстовые, а не бинарные данные и работать они должны в текстовом режиме передачи данных... | |
|
|
|
|
|
|
|
для: sim5
(19.09.2007 в 18:00)
| | >Вы полученный текст HEX-редактором просмотрите - поймете, думаю что проблема в них и вы увидите в конце каждой строки код 0D0A.
Я так понимаю это коды символов \r\n?
Но откуда они берутся дополнительные? | |
|
|
|
|
|
|
|
для: Thrasher
(19.09.2007 в 17:56)
| | Вы полученный текст HEX-редактором просмотрите - поймете, думаю что проблема в них и вы увидите в конце каждой строки код 0D0A. | |
|
|
|
|
|
|
|
для: sim5
(19.09.2007 в 17:41)
| | >Проблемы в кодах перевода строк видимо, уберите их и все будет в норме, они разные для win и unix, смарти то тут при чем?
Не понял: что и как убрать?
Смарти, конечно, ни при чём. Просто, когда я сохраняю текст из <textarea> в БД, а не в файл, никаких дополнительных символов не возникает. | |
|
|
|
|
|
|
|
для: Thrasher
(19.09.2007 в 17:26)
| | Проблемы в кодах перевода строк видимо, уберите их и все будет в норме, они разные для win и unix, смарти то тут при чем? | |
|
|
|
|
|
|
|
для: 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);
|
На локальной машине в файле после каждой строки появляется еще одна пустая строка.
На хостинге пустых строк нет, всё как надо сохраняется. | |
|
|
|
|
|
|
|
для: Thrasher
(19.09.2007 в 15:54)
| | Что-то у меня под Windows, Денвер ничего лишнего не появляется, о каких строках идет речь? | |
|
|
|
|
|
|
|
для: Thrasher
(19.09.2007 в 14:49)
| | Не задачу надо под собственные знания подгонять, а знания под задачу. | |
|
|
|
|