Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сохранение файлов пользователем с сайта через программу для загрузки файлов на компьютер
 
 автор: saider   (28.06.2009 в 22:59)   письмо автору
 
 

Всем привет!
Я к вам по такому вопросу, у меня на сайте стоит скрипт фалового архива, что бы пользователь мог скачивать файлы я использую скрипт сохранения файлов:

<?
function pr_down_files($filename,$realname) {
global 
$url;
$skin_redits=0;
if (!
file_exists($filename)){
$skin_redits=1;
$fc_null=0;
}

if(
$fc_null!==&& $_GET['open']=="1"){
$extension strtolower(substr(strrchr($filepath"."), 1));
// MIME типы
            
switch($extension){
                case 
"asf":     $type "video/x-ms-asf";                break;
                case 
"avi":     $type "video/x-msvideo";               break;
                case 
"exe":     $type "application/octet-stream";      break;
                case 
"mov":     $type "video/quicktime";               break;
                case 
"mp3":     $type "audio/mpeg";                    break;
                case 
"mpg":     $type "video/mpeg";                    break;
                case 
"mpeg":    $type "video/mpeg";                    break;
                case 
"rar":     $type "encoding/x-compress";           break;
                case 
"txt":     $type "text/plain";                    break;
                case 
"wav":     $type "audio/wav";                     break;
                case 
"wma":     $type "audio/x-ms-wma";                break;
                case 
"wmv":     $type "video/x-ms-wmv";                break;
                case 
"zip":     $type "application/x-zip-compressed";  break;
                default:        
$type "application/force-download";    break;
            }

$from=$to=0$cr=NULL;

if (isset(
$_SERVER['HTTP_RANGE'])) {
$range=substr($_SERVER['HTTP_RANGE'], strpos($_SERVER['HTTP_RANGE'], '=')+1);
$from=strtok($range'-');
$to=strtok('/'); if ($to>0$to++;
if (
$to$to-=$from;
header('HTTP/1.1 206 Partial Content');
$cr='Content-Range: bytes ' $from '-' . (($to)?($to '/' $to+1):filesize($filename));
} else 
header('HTTP/1.1 200 Ok');

$etag=md5($filename);
$etag=substr($etag08) . '-' substr($etag87) . '-' substr($etag158);
header('ETag: "' $etag '"');

header('Accept-Ranges: bytes');
header('Content-Length: ' . (filesize($filename)-$to+$from));
if (
$crheader($cr);

header('Connection: close');
header('Content-Type: ' $type);
header('Last-Modified: ' gmdate('r'filemtime($filename)));
$f=fopen($filename'r');
header('Content-Disposition: attachment; filename="' basename($realname) . '";');

if (
$fromfseek($f$fromSEEK_SET);
if (!isset(
$to) or empty($to)) {
$size=filesize($filename)-$from;
} else {
$size=$to;
}
$downloaded=0;
while(!
feof($f) and !connection_status() and ($downloaded<$size)) {
echo 
fread($f512000);
$downloaded+=512000;
flush();
}

fclose($f);

}
return 
$skin_redits;
}
?>

он работает отлично, но вот в чем проблемка у меня, ссылка на сохранение файла у меня выглядет примерно так: <a href="index.php?act=donwload&type=save&id=1">Сохранить файл</A>
все бы нечего, но вот как мне сделать так, что бы вместо стандартного меню сохранения по умолчанию выскакивало окно какого нибудь файлового менеджера, как для примера Donwload Master, а то если ссылка выглядет так, как я в примере написал, то через файловые менеджеры я скачать программу не могу!

  Ответить  
 
 автор: nikita2206   (28.06.2009 в 23:16)   письмо автору
 
   для: saider   (28.06.2009 в 22:59)
 

смотрите в сторону RewriteEngine и RewriteRule.

  Ответить  
 
 автор: SaIdEr   (29.06.2009 в 00:47)   письмо автору
 
   для: nikita2206   (28.06.2009 в 23:16)
 

А что, кроме этого разве больше других вариантов на PHP нету?

  Ответить  
 
 автор: SaIdEr   (30.06.2009 в 01:25)   письмо автору
 
   для: SaIdEr   (29.06.2009 в 00:47)
 

Народ, ну что, не кто не поможет мне?:(

  Ответить  
 
 автор: Николай2357   (30.06.2009 в 08:23)   письмо автору
 
   для: SaIdEr   (30.06.2009 в 01:25)
 

Висит мужик на краю пропасти и орет:
Помогите! Кто нибудь!
Голос: Это я, Господь Бог!. Прыгай сын мой, я спасу тебя.
Пауза....
- А еще есть кто нибудь?
Чем реврайт то не угодил? Ну можно скриптом преобразовать урл, результат то один будет, мороки только побольше.

  Ответить  
 
 автор: SaIdEr   (01.07.2009 в 16:50)   письмо автору
 
   для: Николай2357   (30.06.2009 в 08:23)
 

а как нужно написать в .htaccess команды RewriteEngine и RewriteRule что бы все заработало? Я с ним не разу еще не сталкивался

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования