/ домой \ | \ темы / |
11/01/2012 20:09 Sky: |
отрывок html кода <img src="фото.jpg" align=left> лог !->11/01 22:16:03 [94.41.84.237:2205>80] (t1 3) \фото.jpg(Undefined/default) Error. File not found.^!! !->11/01 22:16:03 [94.41.84.237:2205>80] (t1 4) >\фото.jpg(Undefined/default) Error. File not found. вопрос - программа нераспознает русские имена файлов? ставил конвертацию UTF-8 !->11/01 22:25:13 [94.41.84.237:2445>80] (t1 7) \ДоВо.jpg(Undefined/default) Error. File not found.^! проблемма осталась |
16/01/2012 22:48 den_po: |
Автор писал, что не хочет делать поддержку утф8 в ссылках, ага. Можно кодировать имена в хекс типа %20%CA%F3%E4%E0. Но это ладно, можно пережить. А вот что программа не открывает файлы, ссылки на которые сама же генерирует при открытии папок - это, по-моему, бред. А автору пофик. |
16/01/2012 22:50 den_po: |
Я хотел сказать, что ссылки, сгенерированные сервером, оказываются нерабочими, если не пошаманить с настройками браузеров (что большинство пользователей делать точно не будут)
|
18/01/2012 08:54 GDragon: |
поддерживаю :)
|
18/02/2012 18:17 InFreeBSD: |
Пробуйте скрипт. Немного нужно причесать, а так вроде неплохо реализована поддержка русских символов в именах файлов. Проблемка в Mozilla Firefox, в Internet Explorer и Opera нормально. |
18/02/2012 18:17 InFreeBSD: |
<?php # ВАЖНАЯ ИНФОРМАЦИЯ! # В вашем "php.ini" должны быть следующие три параметра: # file_uploads = On # ^ включаем поддержку загружаемых файлов. # upload_tmp_dir = ПОЛНЫЙ_ПУТЬ_ДО_ПАПКИ_ГДЕ_БУДУТ_ХРАНИТЬСЯ_ЗАГРУЖАЕМЫЕ(ВРЕМЕННЫЕ)_ФАЙЛЫ # ^ Например: upload_tmp_dir = d:/server/php/uploads # и # upload_max_filesize = 2M # ^ Максимальный размер загружаемых файлов (в нашем случаем 2 МБ). # register_long_arrays = On // Куда сохраним файл? // Давайте в папке с этим скриптом, // создадим папку "pub", туда-то и будем // сохранять все загружаемые файлы. $path=GetCWD()."/pub"; // Проверяем на существование папку $path if(!file_exists($path)) { die("<b>Пожалуйста, создайте папку <font color=red>".$path."</font> и <a href=?>повторите попытку загрузить файл</a>.</b>"); } // Выводим форму для загрузки файла. if(empty($_FILES['UserFile']['tmp_name'])) { echo "<form method=post enctype=multipart/form-data>Выберите файл: <input type=file size=35 name=UserFile><input type=submit value=Отправить></form>"; } // Если файл не загружен по каким-то причинам, выводим ошибку. elseif(!is_uploaded_file($_FILES['UserFile']['tmp_name'])) { die("<b><font color=red>Файл не был загружен! Попробуйте <a href=?>повторить попытку</a>!</font></b>"); } // Если файл удачно загружён на сервер, делаем вот что... else { // Переносим загружённый файл в папку $path if(@!copy($_FILES['UserFile']['tmp_name'],$path.chr(47).$_FILES['UserFile']['name'])) { // Если не удалось перенести файл, выводим ошибку: die("<b><font color=red>Файл не был загружен! Попробуйте <a href=?>повторить попытку</a>!</font></b>"); } // Если всё Ok, то выводим инфо. о загружённом файле. else { echo "<center><b>Файл <font color=red><A HREF='midi.php?name=".$_FILES['Use |
18/02/2012 18:18 InFreeBSD: |
rFile']['name']."' target='_top'>".$_FILES['UserFile']['name']."</A></font> успешно загружён на сервер!</font></b></center>". "<hr>". "Тип файла: <b>".$_FILES['UserFile']['type']."</b><br>". "Размер файла: <b>".round($_FILES['UserFile']['size']/1024,2)." кб.</b>". "<hr><center><a href=?>Загрузить ещё один файл!</a></center>"; } } $fn = $HTTP_GET_VARS['name']; $filename = './pub/' . $fn; if(strstr($fn, '/')) { // небольшая защита от попыток закачки из других каталогов header($HTTP_SERVER_VARS["SERVER_PROTOCOL"] . " 403 Forbidden"); exit; } if(!file_exists($filename)) { header($HTTP_SERVER_VARS["SERVER_PROTOCOL"] . " 404 Not Found"); exit; } $fsize = filesize($filename); $ftime = date("D, d M Y H:i:s T", filemtime($filename)); $fd = @fopen($filename, "rb"); if(!$fd) { header($HTTP_SERVER_VARS["SERVER_PROTOCOL"] . " 403 Forbidden"); exit; } // Если запрашивающий агент поддерживает докачку if($HTTP_SERVER_VARS["HTTP_RANGE"]) { $range = $HTTP_SERVER_VARS["HTTP_RANGE"]; $range = str_replace("bytes=", "", $range); $range = str_replace("-", "", $range); if($range) fseek($fd, $range); } $content = fread($fd, $fsize); fclose($fd); if($range) { header($HTTP_SERVER_VARS["SERVER_PROTOCOL"] . " 206 Partial Content"); } else { header($HTTP_SERVER_VARS["SERVER_PROTOCOL"] . " 200 OK"); } header("Content-Disposition: attachment; filename=$fn"); header("Last-Modified: $ftime"); header("Accept-Ranges: bytes"); header("Content-Length: " . ($fsize-$range) ); header("Content-Range: bytes $range-".($fsize -1). "/" . $fsize); header("Content-Type: application/octet-stream"); print $content; exit; ?> |
18/02/2012 18:20 InFreeBSD: |
назовите файл "midi.php". С ув.
|
08/11/2012 18:58 SergKr: |
Link temporary removed Фришный сервер, русские имена ловит на ура... Для быстрой расшарки файлов/папок с русскими именами самое оно. Может и автор на это обратит внимание. Видать не такая это уже и проблема - национальные символы. |