Force download

bilbe

Registered
Здравейте. Поразрових се в нета и намерих това froce downloaд, което на мен ми трябва, но не можах да го оправя. Значи имам този директен линк за сваляне на mp3 : http://www.4shared.com/img/255184945/8f52ac62/dlink__2Fdownload_2F255184945_2F8f52ac62_3Ftsid_3D20500225-160309-e248d03/preview.mp3 , но га запаметява с име preview.mp3 . Как да го направя да го запаметява примерно с име зададено от мен да речем ASDAS.

Това ми е въпроса и мерси предварително :)
 
Ами окс аз просто исках да ми помогнете за тоя линк, но ето и самия код:

global $pref,$dl,$tp;
if ($pref['agree_flag'] == 1) {
$dnld_link = "<a href='".e_BASE."request.php?".$dl['download_id']."' onclick= \"return confirm('".$tp->toJS($tp->toHTML($pref['agree_text'],FALSE,"parse_sc, defs"))."');\">";
} else {
$dnld_link = "<a href='".e_BASE."request.php?".$dl['download_id']."' target='_blank'>";
}

if($dl['download_mirror'])
{
if($dl['download_mirror_type'])
{
return "<a href='".e_BASE."download.php?mirror.".$dl['download_id']."'>".LAN_dl_66."</a>";
}
else
{
return $dnld_link." <img src='".IMAGE_DOWNLOAD."' alt='' style='border:0' /></a>";
}
}
else
{
return $dnld_link." <img src='".IMAGE_DOWNLOAD."' alt='' style='border:0' /></a>";
}

и ми трябва като се цъкне на тая снимчица за сваляне да ми свали песента директно с името ASDAS примерно, а не с preview.mp3 :)
 
Здравейте. Намерих по-ефективен сайт за това което търся. Значи въпроса ми е имам директен линк за сваляне на песен, но с някакво тъпо име. Ето го линка :
http://space4sharing.com:82/admin/download.php?f=/home/lighty/files/9c2a1958.1_mp3

и въпроса ми е как да го направя като тръгни да са свяле да ми го сваля примерно с името ASDAS.mp3, дори да не изкарва прогреса на свяляне но да е с името от мен, а не това което е зададено от там :)
 
Четеш малко от php.net и само си подсвиркваш.
<?php
$file = 'monkey.gif';

if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>
На червения текст, може да сложиш каквото искаш заглавие на файла.
 
Ами значи ето това което направих :

<?php
$file = 'http://space4sharing.com:82/admin/download.php?f=/home/lighty/files/9c2a1958.1_mp3';

if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.asdas);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>

и като стартирам файла нищо не става. Къде греша
 
Виж така
$file = 'http://space4sharing.com:82/admin/download.php?f=/home/lighty/files/9c2a1958.1_mp3';
$explode = explode("?",$file);
if (file_exists($explode[1])) { // така проверяваш дали има файл /home/lighty/files/9c2a1958.1_mp3
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=\'asdasd\'');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($explode[1]));
ob_clean();
flush();
readfile($explode[1]);
exit;
}
 
Да като добавя това ми изкарва този надпис, но и не сваля файла с името което съм задал.
 
И това какво ти говори?
Излъжи скрипта да повярва, че
if (file_exists($explode[1])) { // така проверяваш дали има файл /home/lighty/files/9c2a1958.1_mp3
е правилно, тоест файла съществува
 
Ами файла съществува, но как да излъжа скрипта, че найстина съществува ?
 
Даже пробвам така и пак не става :

<?php
$file = 'http://space4sharing.com:82/admin/download.php?f=/home/lighty/files/9c2a1958.1_mp3';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=\'asdasd\'');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize(file));
ob_clean();
flush();
readfile($file);
exit;
}
else { echo "$file"; };
?>

Само показва линка както му е зададено накрая
else { echo "$file"; };
 
bilbe каза:
Здравейте. Поразрових се в нета и намерих това froce downloaд, което на мен ми трябва, но не можах да го оправя. Значи имам този директен линк за сваляне на mp3 : http://www.4shared.com/img/255184945/8f52ac62/dlink__2Fdownload_2F255184945_2F8f52ac62_3Ftsid_3D20500225-160309-e248d03/preview.mp3 , но га запаметява с име preview.mp3 . Как да го направя да го запаметява примерно с име зададено от мен да речем ASDAS.

Това ми е въпроса и мерси предварително :)

Не ги слушай има много по прост вариант.
имаш си линк-а
http://www.4shared.com/img/255184945/8f52ac62/dlink__2Fdownload_2F255184945_2F8f52ac62_3Ftsid_3D20500225-160309-e248d03/preview.mp3

добави накраиа /ASDAS.mp3

и гледай какво се случва :)
http://www.4shared.com/img/255184945/8f52ac62/dlink__2Fdownload_2F255184945_2F8f52ac62_3Ftsid_3D20500225-160309-e248d03/preview.mp3/АSDAS.mp3

Успех!
 
Replace каза:
Виж така
$file = 'http://space4sharing.com:82/admin/download.php?f=/home/lighty/files/9c2a1958.1_mp3';
list($href,$checkfile) = explode("?f=",$file);
if (file_exists($checkfile)) { // така проверяваш дали има файл /home/lighty/files/9c2a1958.1_mp3
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=\'asdasd\'');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($explode[1]));
ob_clean();
flush();
readfile($explode[1]);
exit;
}
 
Ами не дава грешка, но не тръгва да го сваля :S Копирам го 1:1 с това което си написал и ми стои бял екран и това е. Помагай
 
Охх защо нестава така .... Моля ударете 1 рамо, защото ми трябва.
Ето това е линка :
http://space4sharing.com:82/admin/download.php?f=/home/lighty/files/9c2a1958.1_mp3

и как да го направя да го сваля с име ASDAS примерно, това ми е проблема
 

Back
Горе