Maison > développement back-end > tutoriel php > Exemple de téléchargement php d'un gros fichier distant

Exemple de téléchargement php d'un gros fichier distant

陈政宽~
Libérer: 2023-03-11 19:10:01
original
1337 Les gens l'ont consulté

L'éditeur suivant vous apportera un exemple de téléchargement d'un gros fichier distant en PHP (obtention de la taille du fichier distant ). L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un œil

Sans plus tarder, passons directement au code

<?php
  // 暂不支持断点续传
  // $url = &#39;http://www.mytest.com/debian.iso&#39;; 不知道为何获取本地文件大小为0
  $url = &#39;http://192.168.8.93/download/vm-672/18/0.vmdk&#39;;
  $file = basename($url);
  $header = get_headers($url, 1);
  $size = $header[&#39;Content-Length&#39;];

  $fp = fopen($url, &#39;rb&#39;);
  if ($fp === false) exit(&#39;文件不存在或打开失败&#39;);

  header(&#39;Content-Description: File Transfer&#39;);
  header(&#39;Content-Type: application/octet-stream&#39;);
  header(&#39;Content-Disposition: attachment; filename="&#39;.$file.&#39;"&#39;);
  header(&#39;Content-Transfer-Encoding: binary&#39;);
  header(&#39;Expires: 0&#39;);
  header(&#39;Cache-Control: must-revalidate, post-check=0, pre-check=0&#39;);
  header(&#39;Pragma: public&#39;);
  header(&#39;Content-Length: &#39; . $size);

  ob_clean();
  ob_end_flush();
  set_time_limit(0);
  
  $chunkSize = 1024 * 1024;
  while (!feof($fp)) {
    $buffer = fread($fp, $chunkSize);
    echo $buffer;
    ob_flush();
    flush();
  }
  fclose($fp);
  exit;
Copier après la connexion

Le téléchargement php ci-dessus. remote large L'exemple de fichier (obtenir la taille du fichier distant) est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence, et j'espère également que tout le monde prendra en charge Script Home.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal