当前位置:Gxlcms > php框架 > 浅谈php fopen下载远程文件的函数

浅谈php fopen下载远程文件的函数

时间:2021-07-01 10:21:17 帮助过:14人阅读

如下所示:

  1. //下载附件
  2. function get_file($url, $folder = "./") {
  3. set_time_limit (24 * 60 * 60); // 设置超时时间
  4. $destination_folder = $folder . '/'; // 文件下载保存目录,默认为当前文件目录
  5. if (!is_dir($destination_folder)) { // 判断目录是否存在
  6. mkdirs($destination_folder); // 如果没有就建立目录
  7. }
  8. $newfname = $destination_folder . basename($url); // 取得文件的名称
  9. $file = fopen ($url, "rb"); // 远程下载文件,二进制模式
  10. if ($file) { // 如果下载成功
  11. $newf = fopen ($newfname, "wb"); // 远在文件文件
  12. if ($newf) // 如果文件保存成功
  13. while (!feof($file)) { // 判断附件写入是否完整
  14. fwrite($newf, fread($file, 1024 * 8), 1024 * 8); // 没有写完就继续
  15. }
  16. }
  17. if ($file) {
  18. fclose($file); // 关闭远程文件
  19. }
  20. if ($newf) {
  21. fclose($newf); // 关闭本地文件
  22. }
  23. return true;
  24. }
  25. function mkdirs($path , $mode = "0755") {
  26. if (!is_dir($path)) { // 判断目录是否存在
  27. mkdirs(dirname($path), $mode); // 循环建立目录
  28. mkdir($path, $mode); // 建立目录
  29. }
  30. return true;
  31. }
  32. // 使用示例
  33. echo get_file('xxxxx.pdf');

以上这篇浅谈php fopen下载远程文件的函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

人气教程排行