We help IT Professionals succeed at work.

How to hide Download Link (with PHP), but support Resume function?

4,417 Views
Last Modified: 2013-12-25
I use this PHP script for download file, to Hide direct link of file, or for authenticate before Download.
But this code is not allow Resume Download from client (for example , client uses some Download Manager: IDM,

NetTransport...)

<?

$file=$_REQUEST['filename'];
if (isset($file))
{
      header('Pragma: public');
      header('Expires: 0');
      header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
      header('Content-Type: application/octet-stream');// . getmimetype($file));
      header('Content-Disposition: attachment; filename='.basename($file));
      header('Content-Length: ' . filesize($file));
      readfile($file);
}
?>

How can I resume for Downloading in this case? or have other solution for my problem?

Thanks much!
Comment
Watch Question

Software Engineer
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION

Author

Commented:
@snrudda: how to create symlink or hardlink ?
and if i use link, the number of HTTPD process is the same with my solution? (100user download -> 100 httpd process)
and i need crontab to delete link?

Commented:
In PHP you can create links using symlink() and link() functions. Of course you should have rights to do that but there is no problem in doing that.

To remove links you can use crontabs or simple store list of links created before and put code that remove expired ones in the beginning of any page you know is to be requested often enough. I'd prefer crontab anyway.

The difference between downloading 100 files via webserver directly vs via php script is that 100 PHP processes won't be in the memory. And as I said different web server will be nice way out as 100 processes if nginx is something like 1 apache and download speed will be much faster while system load really lower.

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.