Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Filemanager, kodowanie nazw plików
potreb
post 22.02.2012, 20:44:40
Post #1





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam. Stworzyłem sobie menedżera plików. Ogólnie trochę się różni od innych gdyż informacje o plikach zamiast bezpośrednio pobierać z katalogu - pobiera z bazy danych. Przy czym to zastosowanie ma swoje plusy (sortowanie, wyszukiwanie). Minusem jest to że w przypadku wgrania pliku bezpośrednio na serwer a nie poprzez upload trzeba odświeżyć zawartość wstawiając brakujące pliki.

Dzisiaj natknąłem się na problem przy odświeżaniu plików. Posiadam funkcję transliteracji, która przekształca mi nazwę na odpowiedniki znaków asci.
  1. public function transliterate($filename, $strtolower = true )
  2. {
  3. $filename = iconv('WINDOWS-1250', 'ASCII//TRANSLIT//IGNORE', $filename);
  4. $charsArr = array( '^', '\'', '"', '`', '~', "'", ';');
  5. $filename = str_replace( $charsArr, '', $filename );
  6. $filename = preg_replace( "/[^a-z0-9-.]{1}/i", '_', $filename );
  7. while( strcmp($filename, $filename = str_replace(array('__', '--'), array('_', '-'), $filename)) != 0 );
  8. return $strtolower ? mb_strtolower($filename, 'utf-8') : $filename;
  9. }


Oczywiście funkcja zrobiona jest stricte pod Windows Server dlatego kodowanie początkowe mam ustawione na windows-1250. A co w przypadku serwerów unixowych? Kodowanie jest inne i dlatego chciałbym wykryć jakie kodowanie jest dla nazwy. Wiem, że z wykryciem właściwego kodowania znaków jest problemem? Oczywiście przy zastosowaniu tej samej funkcji z kodowaniem utf-8 przy wgrywaniu przez upload nie ma problemu.

Ten post edytował potreb 22.02.2012, 20:45:30


--------------------

Go to the top of the page
+Quote Post
CuteOne
post 22.02.2012, 21:54:45
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


http://ubuntuforums.org/showpost.php?p=719...amp;postcount=3

ps. po cholere ci filemanager skoro przerzucasz pliki ftp'em... o.O
Go to the top of the page
+Quote Post
potreb
post 22.02.2012, 22:25:44
Post #3





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Nie przerzucam pliki ftp-em tylko poprzez filemanagera. Musisz pamiętać, że pliki 1 Gb nie prześlesz poprzez filemanager bo masz np. ograniczenia w php.ini na 60 Mb. Co do twojego odnośnika, niestety trzeba się zalogować, może wkleisz tutaj treść.

I jeszcze jedno pytanie, zmieniłem rozszerzenie pliku filebrowser.js na php i dodałem blokadę dostępu. Jeżeli ktoś będzie próbował uzyskać dostęp nie z poziomu aplikacji to wywali access denied. Czy jest jakaś lepsza metoda? Bo taka mi się nie widzi:

  1. <script type="text/javascript">
  2. <?php require_once('js/fbrowser.php'); ?>
  3. </script>


Ten post edytował potreb 22.02.2012, 22:41:39


--------------------

Go to the top of the page
+Quote Post
CuteOne
post 22.02.2012, 22:54:06
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


1. Nie ten link ;p http://forum.dobreprogramy.pl/jak-zmienic-...50-t272366.html

2. Nie ma wink.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 02:22