Спустя 5 часов, 31 секунда (7.08.2009 - 08:16) stepan написал(а):
Например использовать транслит
Спустя 2 часа, 17 минут, 27 секунд (7.08.2009 - 10:33) Nikitian написал(а):
При сохранении давать имена основанные на хэше имени, а реальное имя хранить например в базе или рядом в файлике. Если отдавать файлы через скрипт, то не проблема подставить реальное имя как имя для сохранения.
Спустя 10 минут, 40 секунд (7.08.2009 - 10:44) Magikan написал(а):
мне кажется нада просто изменять имя файлов в UTF-8
я это делаю при помощи
я это делаю при помощи
PHP |
iconv("windows-1251", "UTF-8",$info['Ttitle']); |
и тогда все корректно у меня выходит

Спустя 2 часа, 16 минут, 34 секунды (7.08.2009 - 13:01) amatory666 написал(а):
Magikan, а если файлы будут заливаться с под Линукса - ты в итоге получишь неправльной переведенную кодироку.
Спустя 2 минуты, 10 секунд (7.08.2009 - 13:03) amatory666 написал(а):
Nikitian, мелишь чушь. Кто будет заполнять эти файлики с именами файлов если там их порядка 1000
Спустя 48 секунд (7.08.2009 - 13:03) Kuliev написал(а):
amatory666
Можно попробовать переименовывать файлы при загрузке на сервер!
Можно попробовать переименовывать файлы при загрузке на сервер!
Спустя 4 минуты, 52 секунды (7.08.2009 - 13:08) amatory666 написал(а):
stepan, а когда назад с транслита переводить будешь понимаешь что получится?
Спустя 49 секунд (7.08.2009 - 13:09) amatory666 написал(а):
Kuliev, в смысле изменить кодировку в имени файла?
Спустя 7 минут, 38 секунд (7.08.2009 - 13:17) Nikitian написал(а):
Цитата (amatory666 @ 7.08.2009 - 10:03) |
Nikitian, мелишь чушь. Кто будет заполнять эти файлики с именами файлов если там их порядка 1000 |
Загружаешь файлег скриптом. Его имя сохраняется отдельно, данные отдельно. Что тут сложного? Если уже залито, то никто не мешает написать ftp-клиент (или локальный клиент, если сервер один), который будет бегать по серверу и переименовывать, шаманить с iconv'ом и всё, что угодно делать.
Ещё раз повторяю: кирилица в именах файлов - это плохо. Запомните, напишите на стене и выучите. Всегда найдётся пара "клиент-сервер", которая не сможет осуществить передачу такого файла.
Спустя 7 минут, 48 секунд (7.08.2009 - 13:25) Kuliev написал(а):
Цитата (amatory666 @ 7.08.2009 - 15:09) |
Kuliev, в смысле изменить кодировку в имени файла? |
Ты файлы заливаешь сам лично?
Спустя 9 минут, 7 секунд (7.08.2009 - 13:34) amatory666 написал(а):
Цитата (Kuliev @ 7.08.2009 - 10:25) | ||
Ты файлы заливаешь сам лично? |
Да. Я заливаю файлы на хост в папку.
Спустя 9 минут, 44 секунды (7.08.2009 - 13:43) Kuliev написал(а):
amatory666
Есть такая программа Total Commander вот в ней мона переименовать сразу кучу файлов, вот в ней переименуешь сам и зальешь и не будет ни каких проблем!
Есть такая программа Total Commander вот в ней мона переименовать сразу кучу файлов, вот в ней переименуешь сам и зальешь и не будет ни каких проблем!
Спустя 4 минуты, 17 секунд (7.08.2009 - 13:48) amatory666 написал(а):
Решенье должно быть универсально. Закачиваться файлы на хост могут из под разных ОС. Откуда скрипт узнает (При чтении дериктории) в какой кодироке названия файлов?
Спустя 6 минут, 43 секунды (7.08.2009 - 13:54) Kuliev написал(а):
Цитата (amatory666 @ 7.08.2009 - 15:48) |
Решенье должно быть универсально. Закачиваться файлы на хост могут из под разных ОС. Откуда скрипт узнает (При чтении дериктории) в какой кодироке названия файлов? |
Все ОС хорошо дружат с латиницей, по этому перемениовывай файлы в латиницу, чтобы не было названия файла в кириллице!
Спустя 2 минуты, 29 секунд (7.08.2009 - 13:57) amatory666 написал(а):
Вот именно что нужно чтобы имена файлов были в киррилице. Они потом используются как настоящие имена файлов. Я же не буду выдавать на сайте в название файла в латинице. Это грубо говоря не красиво.
Спустя 2 минуты (7.08.2009 - 13:59) Kuliev написал(а):
amatory666
А что за файлы ты заливаешь ( картинки, программы и т.д.)?
А что за файлы ты заливаешь ( картинки, программы и т.д.)?
Спустя 8 минут, 24 секунды (7.08.2009 - 14:07) amatory666 написал(а):
Все подряд.
Спустя 1 час, 44 минуты, 25 секунд (7.08.2009 - 15:52) Nikitian написал(а):
Цитата (amatory666 @ 7.08.2009 - 10:57) |
Вот именно что нужно чтобы имена файлов были в киррилице. Они потом используются как настоящие имена файлов. Я же не буду выдавать на сайте в название файла в латинице. Это грубо говоря не красиво. |
Код |
<?php //Обращаться как script.php?file=filename.xxx $bads=array('.htaccess','.htpasswd'); define('DIR','upload/');//Директория для файлов if(!file_exists(DIR.basename($_GET['file'])) || array_search(basename($_GET['file']),$bads)!==false)die('<html><head><meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" /></head><body><table width="100%" height="100%"><tr><td align="center" valign="middle"><h1 style="font-size:60px;">Файл '.basename($_GET['file']).' не найден на сервере</h1></td></tr></table></body></html>'); header("Content-type: application/octet-stream\nContent-Disposition: attachment; filename=\"ЗДЕСЬ ИМЯ ХОТЬ КИРИЛИЦЕй, ХОТЬ ЧЕМ - ЭТО ИМЯ БУДЕТ ПОКАЗЫВАТЬ ПРИ СОХРАНЕНИИ СКАЧАННОГО ФАЙЛА\"'); die(file_get_contents($_GET['file'])); |
Это маленький скрипт скачки файла. Обратите внимание на то, что написано капсом - вам про это уже второй раз пишу. И красиво, и работает
Спустя 59 минут, 52 секунды (7.08.2009 - 16:52) amatory666 написал(а):
Nikitian, ты наверное не понял суть проблемы. У меня возникает проблема не при СКАЧКИ файла. А тогда, года файлы находятся в дериктори уже на сервере (порядка 1000). И мне нужно скриптом прочитать эту папку, записать имена файлов в бд, а файлы переместить в другую дерикторию. Что тут может быть непонятного?
Спустя 1 час, 18 минут (7.08.2009 - 18:10) Nikitian написал(а):
Да, действительно неточно понял суть дела. Однако, такой подход неправилен. Если работаете с сайтом через админку, то и заливайте файлы так же скриптами, А не через ftp. После небольших танцев с бубном можно и одновременную закачку сделать и докачку, и прогрессбары с оценкой времени закачки. А ежели ещё и flash в руках горит, то заливку сразу папками - совсем не проблема. И зачем в такой благостной ситуации мучить ftp? Понимаю, что он специально для этого, но... не комильфо имхо.
Спустя 19 минут, 51 секунда (7.08.2009 - 18:29) amatory666 написал(а):
Nikitian, а как мне по вашему залить целуй папку с файлами со скрипта админки? В multipat форме натыкать 1000 <input type="file"> ?
Спустя 7 минут, 26 секунд (7.08.2009 - 18:37) Nikitian написал(а):
Только если папки.
Для кучи файлов можно использовать flash мультиаплоадеры, атак же можно архивом и распаковывать на сервере - так получится даже быстрее, чем пофайлово закачивать
Для кучи файлов можно использовать flash мультиаплоадеры, атак же можно архивом и распаковывать на сервере - так получится даже быстрее, чем пофайлово закачивать
Спустя 12 минут, 49 секунд (7.08.2009 - 18:50) amatory666 написал(а):
Цитата (Nikitian @ 7.08.2009 - 15:37) |
Только если папки. |
1. Как по вашему можно залить папку через админку?
2. А если архив заливать - это ничего не поменяет. Даже когда на сервере этот архив распакуется в названии файлов все равно кодировка останется та же что и была в ОС(там где запоковывали). И это не решит проблему потому что опять же мы не знаем в какой кодировке названия файлов.