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

Форум PHP

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

 

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

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

тема: необходимо сохранить файл с кирилицей в названии
 
 автор: Zezst   (07.02.2013 в 23:45)   письмо автору
 
 

Вот возникла необходимость сделать так:
file_put_contents('текст.txt', $text ."\n\n", FILE_APPEND);

Сервер на винде. Везде используется кодировка в utf-8. При сохранении получаю кракозябры.txt. Подскажите как сохранить файл с рускими буковками в названии.

  Ответить  
 
 автор: Valick   (08.02.2013 в 00:04)   письмо автору
 
   для: Zezst   (07.02.2013 в 23:45)
 

Вот возникла необходимость сделать так:
Расскажите поподробнее зачем вам это понадобилось?
Есть же старый добрый транслит, на худой конец.

  Ответить  
 
 автор: Zezst   (08.02.2013 в 00:23)   письмо автору
 
   для: Valick   (08.02.2013 в 00:04)
 

Мне почему-то кажется, что неважно по какой причине понадобилось.
С латиницей никаких проблем. Проблема начинается когда нужны именно руские буковки в названии. При этом оказалось неважно на чем стоит сервер. В Linux сервере все аналогичным образом. Кракозябры вместо букаф.
При этом из скриптов отображаеться все нормально. А вот при просмотре через проводник абракадабра.

Но если вы считаете, что знание зачем поможет вам:
например сохраняю понравившуюся статью на работе в "название статьи.maff" и отправляю файл домой. дома стоит сервачок который принимает файл и делает сортировку. дома, естетсвенно, файл ищу не через скрипт , а через проводник. и вот как то в лом мне занимать мозг такой фигней как конвертация буковок туда обратно.
.maff - это https://addons.mozilla.org/ru/firefox/addon/mozilla-archive-format/

Это всего лишь пример, когда может понадобится кирилица в названии файлов.

  Ответить  
 
 автор: Valick   (08.02.2013 в 00:28)   письмо автору
 
   для: Zezst   (08.02.2013 в 00:23)
 

А написать нормальный веб-интерфейс с использованием БД, где и хранить оригинальное название можно как угодно, да и возможностей сортировки ничем не переплюнешь?

  Ответить  
 
 автор: Zezst   (08.02.2013 в 00:53)   письмо автору
98.9 Кб
 
   для: Valick   (08.02.2013 в 00:28)
 

Ага. и вас даже не смутило что к файлам я обращаюсь из ОС'и.
Немного проясню:
дома есть 4 компа
они объеденениы в локалку по гигабитному шнурку
компы принадлежат к разным товарищам
харды расшарены и подключены как сетевые
на одном компе стоит сервачок который смотрит в инет
на нем стоит скрипт приемки любого файла и сохранение его на диск
просто как обычный файл
не в базу данных
для любого из локалки это оюычный сетевой диск
и он может взять файл и переименовать его как хочет
или скопировать его
или удалить
файлы прекрасно открываются предназначенными для них программами
но какой смысл открывать файл, если по названию можно определить о чем он
или что в нем есть

Я так понимаю, вы хотите меня убедить что товарищам проще открыть, не проводник с нужной папкой, а браузер. В нем подключиться под своей учеткой. Найти/выбрать нужный файл. Сохранить его к себе на компьютер и только после этого иметь возможность открыть файл?
В прикрепленном файле пример как это есть сейчас.

И кстати да. Под файлопомойкой у меня RAID из 3-х хардов по 3 террабайта (из них около 6 террабайт занято). И даже если заморочиться и сделать как вы предлагаете все в БД... Ну вы надеюсь поняли абсурдность предложения?

  Ответить  
 
 автор: Igorek   (08.02.2013 в 05:43)   письмо автору
 
   для: Zezst   (07.02.2013 в 23:45)
 

а какой результат, если php-скрипт, который файл сохраняет, в cp1251 кодировке сохранить?

  Ответить  
 
 автор: Zezst   (08.02.2013 в 05:53)   письмо автору
 
   для: Igorek   (08.02.2013 в 05:43)
 

Еще не пробовал. Но cp1251 разве не вин кодировка? Просто в Linux остается таже проблема. И даже если поможет - как такой скрипт использовать если все остальные скрипты в utf-8?
Опробовать к сожалению смогу только часа через три. Как проверю отпишусь.

  Ответить  
 
 автор: Zezst   (08.02.2013 в 10:05)   письмо автору
 
   для: Igorek   (08.02.2013 в 05:43)
 

А знаете. Помогло!
Только теперь немного другая проблема. Все на сайте выполняется в кодировке utf-8 и содержимое файла должно быть в кодировке utf-8. И при этом хотелось бы иметь читаемое название файла в проводнике.
Спасибо за совет. Буду копать дальше.

  Ответить  
 
 автор: Igorek   (08.02.2013 в 10:08)   письмо автору
 
   для: Zezst   (08.02.2013 в 10:05)
 

попробуйте iconv'ом конвертить имя файла, а кодировку самог файла верните обратно на utf8

  Ответить  
 
 автор: confirm   (08.02.2013 в 10:19)   письмо автору
 
   для: Zezst   (08.02.2013 в 10:05)
 

Долго же вы толчете - не к содержимому нужно iconv() применять, а к имени файла.

  Ответить  
 
 автор: Zezst   (08.02.2013 в 11:25)   письмо автору
 
   для: confirm   (08.02.2013 в 10:19)
 

Спасибо. Как то совсем упустил.
file_put_contents(iconv("utf-8", "cp1251", "текст.txt"), $text ."\n\n", FILE_APPEND);

Все сработало как надо.

  Ответить  
Rambler's Top100
вверх

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