91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何實現文件下載

發布時間:2020-08-05 16:22:14 來源:網絡 閱讀:235 作者:jjrc521 欄目:web開發

 1. 設置超鏈接的href屬性

  <ahref="文件地址"></a>

  如果瀏覽器不能解析該文件,瀏覽器會自動下載。而如果文件是圖片或者txt,會直接在瀏覽器中打開。

  2. 輸出文件流

  //download.php

  //頁面加載的時候就調用

  downloadFile("3.rar","something.rar");

  //$filePath是服務器的文件地址

  //$saveAsFileName是用戶指定的下載后的文件名

  function downloadFile($filePath,$saveAsFileName){

  // 清空緩沖區并關閉輸出緩沖

  ob_end_clean();

  //r: 以只讀方式打開,b: 強制使用二進制模式

  $fileHandle=fopen($filePath,"rb");

  if($fileHandle===false){

  echo "Can not find file: $filePath\n";

  exit;

  }

  Header("Content-type: application/octet-stream");

  Header("Content-Transfer-Encoding: binary");

  Header("Accept-Ranges: bytes");

  Header("Content-Length: ".filesize($filePath));

  Header("Content-Disposition: p_w_upload; filename=\"$saveAsFileName\"");

  while(!feof($fileHandle)) {

  //從文件指針 handle 讀取最多 length 個字節

  echo fread($fileHandle, 32768);

  }

  fclose($fileHandle);

  }

  注:

  (1)download.php可以設置為<a>標簽的href屬性,點擊<a>標簽,則瀏覽器會提示下載。

  (2)jQuery模擬觸發<a>的click事件時有bug,應該使用html對象的click方法。$('#hyperLink')[0].click();

  (3)jQuery Mobile會改變<a>的行為。所以,在使用jQuery Mobile時,無論手動點擊還是java模擬點擊,都會跳轉到download.php頁面,并不會觸發下載。(4)location.href或location.replace定向到download.php也可以實現下載。這種方法不受jQuery Mobile的影響。

  (5)以上兩種方法進行下載時,chrome會提示“Resource interpreted as Document but transferred with MIME type application/octet-stream”。為<a>增加html5屬性download可以解決這個問題。<a href="..." download></a>而location.href或location.replace觸發的下載,暫無辦法解決。


程序員杭州軟件測試杭州APP開發杭州PHP工程師

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

全州县| 体育| 辰溪县| 青冈县| 云阳县| 元江| 儋州市| 留坝县| 会理县| 邹平县| 临泉县| 奎屯市| 拉萨市| 黄骅市| 永德县| 嘉义县| 桐庐县| 景德镇市| 泽库县| 周宁县| 蓬安县| 手机| 唐海县| 衢州市| 汪清县| 惠安县| 屏东县| 辽宁省| 宜春市| 台前县| 南城县| 长治县| 余庆县| 仙居县| 岚皋县| 南召县| 加查县| 长宁区| 剑川县| 西青区| 高州市|