PHP Not Detecting Local Files

Thread Solved

Join Date: Feb 2009
Posts: 17
Reputation: apease11 is an unknown quantity at this point 
Solved Threads: 0
apease11 apease11 is offline Offline
Newbie Poster

PHP Not Detecting Local Files

 
0
  #1
Aug 13th, 2009
Hi, I am having a problem forcing a download from PHP. I am running 5.2 Stable. I have followed numerous tutorials and still can't figure it out. What I'm trying to do is force-download a file I made, because the browser likes opening it up inside, but it won't let me use relevant paths so I have to type in the full web address every time. Here's my working and not working code:

Working:
  1. if ($checkbox) {
  2. $file = 'http://12.148.233.90/downloads/Tutorial1.wmv.zip';
  3. // Set headers
  4. header("Cache-Control: public");
  5. header("Content-Description: File Transfer");
  6. header("Content-Disposition: attachment; filename=Tutorial1.wmv.zip");
  7. header("Content-Type: application/zip");
  8. header("Content-Transfer-Encoding: binary");
  9. //header("Content-Length: " . filesize($file));
  10. ob_clean();
  11. flush();
  12. readfile("$file");
  13. exit;
  14. }
  15. else {
  16. ...
  17. }
Not working, but want to work:
  1. if ($checkbox) {
  2. $file = 'downloads/Tutorial1.wmv.zip';
  3. // Set headers
  4. header("Cache-Control: public");
  5. header("Content-Description: File Transfer");
  6. header("Content-Disposition: attachment; filename=Tutorial1.wmv.zip");
  7. header("Content-Type: application/zip");
  8. header("Content-Transfer-Encoding: binary");
  9. header("Content-Length: " . filesize($file));
  10. ob_clean();
  11. flush();
  12. readfile("$file");
  13. exit;
  14. }
  15. else {
  16. ...
  17. }
With the not working code section, it says that it can't find the file. The reason I want that section working is because I want the file size to be correct when you download (so it doesn't say "Unknown Time Remaining") and to simplify the code a little bit. Thanks for your help.

If you need me to clarify anything, just ask. I could also map my HDD and upload my IIS settings too.
Reply With Quote Quick reply to this message  
Join Date: Jan 2009
Posts: 1,371
Reputation: almostbob has a spectacular aura about almostbob has a spectacular aura about 
Solved Threads: 166
almostbob's Avatar
almostbob almostbob is offline Offline
Nearly a Posting Virtuoso

Re: PHP Not Detecting Local Files

 
0
  #2
Aug 13th, 2009
  1. if ($checkbox) {
  2. $file = 'downloads/Tutorial1.wmv.zip';
  3. // Set headers
  4. header("Cache-Control: public ;");
  5. header("Content-Description: File Transfer");
  6. header("Content-Disposition: attachment; filename=Tutorial1.wmv.zip");
  7. header("Content-Type: application/zip");
  8. header("Content-Transfer-Encoding: binary");
  9. header("Content-Length: " . filesize($file) ."; ");
maybe, going to think
Last edited by almostbob; Aug 13th, 2009 at 11:43 pm.
Failure is not an option It's included free, you don't have to do anything to get it
If at first you dont succeed, join the club
Of course its always in the last place you look, you dont keep looking after you find it

Please mark solved problems, solved
Reply With Quote Quick reply to this message  
Join Date: Apr 2008
Posts: 75
Reputation: danishbacker is an unknown quantity at this point 
Solved Threads: 5
danishbacker's Avatar
danishbacker danishbacker is offline Offline
Junior Poster in Training

Re: PHP Not Detecting Local Files

 
0
  #3
Aug 14th, 2009
me too had the same problem but I gave full path.

Try giving path from a variable preceded by $_SERVER['SERVER_NAME']; thus by making full path?

Hope this will work for you.

(thought your plan was to use same code in local and remote servers).
Reply With Quote Quick reply to this message  
Join Date: Feb 2009
Posts: 17
Reputation: apease11 is an unknown quantity at this point 
Solved Threads: 0
apease11 apease11 is offline Offline
Newbie Poster

Re: PHP Not Detecting Local Files

 
0
  #4
Aug 14th, 2009
$_SERVER['SERVER_NAME'] returned a strange response; the server created a new zip file when I used that in the path, sent it over to me, and then deleted it (
  1. $file = $_SERVER['SERVER_NAME'] . '/downloads/Tutorial1.wmv.zip';
). I know the file exists, and I echo'd the $_SERVER['SERVER_NAME'] and that came out correct. That's not a big problem because I can just type the full address like I did before and it works (the same thing that my first code snippet does), what I want is the file size to work most of all, so people aren't left not knowing how big the file is (and these are big files).

I'm getting a little confused on how $file = $_SERVER['SERVER_NAME'] . '/downloads/Tutorial1.wmv.zip'; is different from '12.148.233.90/downloads/Tutorial1.wmv.zip' when they return the same thing. Thanks for your help.

And the reason I'm using this code for zip files is one of two things, I will be force downloading other files than zip (like wmv and txt, most browsers read them) and my firefox somehow has the power to open up zip files within itself and it won't let me download them.
Reply With Quote Quick reply to this message  
Join Date: Feb 2009
Posts: 17
Reputation: apease11 is an unknown quantity at this point 
Solved Threads: 0
apease11 apease11 is offline Offline
Newbie Poster

Re: PHP Not Detecting Local Files

 
0
  #5
Aug 14th, 2009
I think it must be something wrong with the config file, it works fine under my PHP 4 Linux server. The php.ini file is available at http://12.148.233.90/php.ini if you want to take a look. I'll be going through it myself, all 1338 lines, sigh. Thanks for the help.
Reply With Quote Quick reply to this message  
Join Date: Feb 2009
Posts: 17
Reputation: apease11 is an unknown quantity at this point 
Solved Threads: 0
apease11 apease11 is offline Offline
Newbie Poster

Re: PHP Not Detecting Local Files

 
0
  #6
Aug 14th, 2009
I got it to work, for now, I specified the file size manually along with reordering my info and adding stuff. I'll post the code if you want it.
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC