简体   繁体   中英

Download file using FTP and PHP

I would like to start a upload and download website for huge files (up to 1gb). I thought that it would be better to download the files using FTP (with PHP), because this protocol is especially used for these types of transfers.

The cliënt gets an email, including a download link to download the file (like yousendit.com). When they click on the link a download box appears. My problem is that I don't know how to show a download box using ftp and php. I have read that it isn't possible to immediately download a file by PHP, using FTP. Is this correct? Do I have to create a temporary files on the server to let the client download the file? If yes, is this also a good solution for huge files?

What do you advice me to give the clients the possibility to download these huge files?

Thanks for your reply!

Can't you send them an FTP link ? Why do you need PHP?

ftp://ftp12.freebsd.org/pub/FreeBSD/ls-lR.gz

You can generate unique address based on session_id (create this folder on runtime and move huge file there) and redirect user to this link For example, you have file huge.tgz

1. Send you client link http://***/user/john/file/huge.tgz
2. Ask user for auth in this page if they lost session
3. get session id
4. create on your server folder with name equals session id and move huge.tgz here
5. redirect user to unique ftp link ftp://***/17oe5kf8iYmpt66bjs89hcuo83/huge.tgz

You should disallow list files and directories on ftp server

You probably want to use PHP to handle everything but the file transfer. Once you have done all the checks you want you can redirect the browser to the file specifying the protocol as ftp. though you won't be able to have a progression bar in your site, the browser/ftp app will probably display one.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM