Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Filemanager, kodowanie nazw plików
Forum PHP.pl > Forum > Przedszkole
potreb
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.
CuteOne
http://ubuntuforums.org/showpost.php?p=719...amp;postcount=3

ps. po cholere ci filemanager skoro przerzucasz pliki ftp'em... o.O
potreb
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>
CuteOne
1. Nie ten link ;p http://forum.dobreprogramy.pl/jak-zmienic-...50-t272366.html

2. Nie ma wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.