簡體   English   中英

使所有上載的文件強制在php中下載

[英]Make all uploaded files force download in php

我在互聯網上找到了有關如何使用php上傳文件的簡單腳本。

  <?php
require 'config.php';

if (isset ( $_SERVER ['REQUEST_METHOD'] ) == 'POST') {
 // when submit button is clicked
 if (isset ( $_POST ['submit'] )) {
  // get user's data
  $name = $_POST ['name'];
  $email = $_POST ['email'];
  $images = "";

  // check if user has added images
  if(strlen(($_FILES ['upload'] ['tmp_name'] [0])) != 0){
   $upload_dir = "images/";

   // move all uploaded images in directory
   for ($i = 0; $i < count($_FILES['upload']['name']); $i++) {
    $ext = substr(strrchr($_FILES['upload']['name'][$i], "."), 1);

    // generate a random new file name to avoid name conflict
    $fPath = md5(rand() * time()) . ".$ext";
    $images .= $fPath.";";

    $result = move_uploaded_file($_FILES['upload']['tmp_name'][$i], $upload_dir . $fPath);
   } 
  }else {
   // if user doesn't have any images, add default value
   $images .= "no images";
  }

  // write the user's data in database
  // prepare the query
  $query = "INSERT INTO users(name, email,images) VALUES
  ('$name', '$email','$images')";

  // TODO check if the user's informations are successfully added
  // in the database
  $result = mysql_query ( $query ); 
 }
}
?>

該腳本在整體上做得很好,但是唯一的問題是,當我上傳圖像文件或pdf時,它們在新標簽頁中打開,而不會下載。 單擊下載鏈接后,如何使上傳的圖像文件自動下載? 提前致謝。

添加下載鏈接,如下所示

<a href="link/to/your/download/image" download>Download link</a>

在apache配置中添加以下代碼

<Location "/images">
<Files *.*>
    ForceType application/octet-stream
    Header set Content-Disposition attachment
</Files>
</Location>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM