khakiman Posted December 30, 2009 Share Posted December 30, 2009 here is my code (stolen from some other site): <? // Tells the browser that where going to run a PHP script. $file = $_GET['file']; // Get a filename from the GET parameters. Header ("Content-type: octet/stream"); Header ("Content-disposition: attachment; filename=".$file.";"); Header("Content-Length: ".Filesize($file)); // Sends the brower headers to tell it that its sending that file back to it. Readfile($file); // Reads the file from the server and send it to the browser. Exit; ?> // Closes the PHP script. works fine except when i have a file with an ampersand in it like tango&cash.mp3 it will try to download just 'tango' and lose everything after the ampersand. ive been trying urldecode but i cant figure it out can anyone help? Link to comment https://forums.phpfreaks.com/topic/186681-help-with-force-download-script-ampersands/ Share on other sites More sharing options...
Adam Posted December 30, 2009 Share Posted December 30, 2009 Try "tango%26cash.mp3". You may need to apply urldecode to it, not sure! Link to comment https://forums.phpfreaks.com/topic/186681-help-with-force-download-script-ampersands/#findComment-985910 Share on other sites More sharing options...
khakiman Posted December 30, 2009 Author Share Posted December 30, 2009 well renaming the mp3s works, i guess i could do a batch rename with some program out there. i was hoping for a simpler solution to my php but if there is none at least i have an option Link to comment https://forums.phpfreaks.com/topic/186681-help-with-force-download-script-ampersands/#findComment-985965 Share on other sites More sharing options...
Adam Posted December 30, 2009 Share Posted December 30, 2009 .... Did you try what I suggested? Link to comment https://forums.phpfreaks.com/topic/186681-help-with-force-download-script-ampersands/#findComment-985966 Share on other sites More sharing options...
khakiman Posted December 30, 2009 Author Share Posted December 30, 2009 yeah it works. im going to get a batch rename program and rename all the amerpsands to %26, then re-upload all the tracks. kind of a bitch but it works Link to comment https://forums.phpfreaks.com/topic/186681-help-with-force-download-script-ampersands/#findComment-986108 Share on other sites More sharing options...
Adam Posted December 30, 2009 Share Posted December 30, 2009 Not quite what I meant. Was meaning like "yourfile.php?file=tango%26cash.mp3", then returning the value with: $file = urldecode($_GET['file']); Link to comment https://forums.phpfreaks.com/topic/186681-help-with-force-download-script-ampersands/#findComment-986113 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.