Авторизация
 Регистрация   Войти   Забыли пароль? 

PHP-Функция загрузки файла по имени с докачкой

Обновлённый PHP-Fusion Bogatyr / Free CMS PHP-Fusion 7 Bogatyr / PHP-functions for files upload and download / PHP-Функция загрузки файла по имени с докачкой


 Russian

PHP-Function of downloading a file by name with a resume

Обновлённый PHP-Fusion Bogatyr / Free CMS PHP-Fusion 7 Bogatyr / PHP-functions for files upload and download / PHP-Function of downloading a file by name with a resume


 English

PHP

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in F:\OpenServer\domains\php-fusion.vveb.ws\includes\bbcodes\mail_bbcode_include.php on line 20

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in F:\OpenServer\domains\php-fusion.vveb.ws\includes\bbcodes\mail_bbcode_include.php on line 21

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in F:\OpenServer\domains\php-fusion.vveb.ws\includes\bbcodes\search_bbcode_include.php on line 39
PHP
  1. <?php
  2. // http://www.cyberforum.ru/php-beginners/thread1704308.html   
  3. // Не работает скрипт скачивания картинок - PHP
  4. function download_image_file($flnm) {
  5.      // $flnm = "files/gifk-53.gif";
  6.      // $flnm = $_SERVER["QUERY_STRING"];
  7.     if(ini_get("zlib.output_compression")) ini_set("zlib.output_compression", "Off");
  8.     $flxt = strtolower(substr(strrchr($flnm, "."), 1));
  9.      // echo "<p>flxt=". $flxt ."</p>\n";
  10.      // if(($flnm=="")||(!file_exists($flnm))){
  11.      //         echo "Ошибка <i>".$flnm."</i> не найден файл."; exit;
  12.      // }
  13. switch($flxt)
  14. {
  15.     case 'gif':
  16.         $tpe = 'image/gif';
  17.     break;
  18.     
  19.     case 'png':
  20.         $tpe = 'image/png';
  21.     break;
  22.     
  23.     case 'jpg':
  24.         $tpe = 'image/jpg';
  25.     break;
  26.     
  27.     default:
  28.         $tpe = 'application/force-download';
  29. }
  30. // echo "<p>tpe=". $tpe ."</p>\n";
  31. // Запрошеный файл «gifk-53.gif» существует.
  32. // flxt=gif
  33. // tpe=image/gif
  34. header("Pragma: public");
  35. header("Expires: 0");
  36. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  37. header("Cache-Control: private", false);
  38. header("Content-Type: ".$tpe);
  39. header("Content-Disposition: attachment; filename="".basename($flnm)."";");
  40. header("Content-Transfer-Encoding: binary");
  41. header("Content-Length: ".filesize($flnm));
  42. readfile("$flnm");
  43. exit();
  44. }
  45. if ( isset($_GET['file'])  and strlen($_GET['file'])>0 ) { // если запрошено хоть что-то
  46.     $need_filename = stripinput($_GET['file']); // сколькос права до слева
  47.      // echo "<p>strrpos_filename=". $strrpos_filename ."</p>\n";
  48.      // _GET['REQUEST_URI']=/download/kp.txt
  49.      // $need_filename = str_replace("/","", $need_filename );
  50.     $need_filename = preg_replace('/[^a-z0-9_\-=+,.]/', '_', $need_filename);
  51.     if (file_exists("files/".$need_filename)) {
  52.          //        echo "<p>Запрошеный файл &laquo;<B>". $need_filename."</B>&raquo; существует.</p>\n";
  53.          // $flnm = "files/".$need_filename;
  54.         download_image_file("files/".$need_filename);
  55.     } else {
  56.         header("Content-type: text/html; charset=utf-8");
  57. echo "<H2>index.php</H2>\n";
  58. echo "<p style='font-size: 30px; background-color: rgb(255,172,172); color: black; padding: 15px; '>Запрошеный файл <br>
  59. &laquo;<B style='color: #006600;'>". $need_filename."</B>&raquo; <br>
  60. на сервере НЕ существует.<br>
  61. <br>
  62. Вернитесь на <a href='/' style='color: #0000CC;'>главную страницу</a> </p>\n";
  63.     }
  64. } // ELSE СПИСОК ФАЙЛОВ
  65. // function stripinput FROM PHP-FSUION
  66. ?>
Добавить комментарий

Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
HTML-code and BB-code for blogs and forums

<a href="https://php-fusion.vveb.ws/php-fusion.php?id=65">PHP-Функция загрузки файла по имени с докачкой</a>


[url=https://php-fusion.vveb.ws/php-fusion.php?id=65]PHP-Функция загрузки файла по имени с докачкой[/url]

Language: Default
 
Код для PHP-Fusion