2017-03-12 8 views
-1

MySQLサーバーからファイルをダウンロードしようとしていますが、できません。私のmysqlデータベースからファイルをダウンロードすることができません

スクリプトは実行されますが、ファイルの最初の65 KBだけをダウンロードできます。

<?php 
    include('connect.php'); 
    if(isset($_GET['id'])) 
    { 
     $id = $_GET['id']; 
     $query = "SELECT * FROM upload WHERE id = '$id'"; 
     $result = mysqli_query($connection,$query) or die(mysql_error()); 
     while($row = mysqli_fetch_assoc($result)) 
     { 
      $name=$row['name']; 
      $size=$row['size']; 
      $type=$row['type']; 
      $content=$row['content']; 
     } 
     header("Content-disposition: attachment; filename=$name"); 
     header("Content-length: $size"); 
     header("Content-type: $type"); 
     echo $content; 
    } else { 
     die("No file id given..."); 
    } 
    unset($_GET['id']); 
?> 
+0

あなた 'size'列の型は何を? 'SMALLINT'? –

+0

bigint @u_mulder – palak

+1

画像をdbに保存する際に問題があると思います。あなたはファイルサイズと同じではない 'Content-length'を設定します。つまり、' size'カラム値を設定すると間違いました。 –

答えて

0

あなたは誤って使用していますcontent-lengthです。それはあなたが送信するもののサイズである必要があります。

あなたはこのような何かしたい:

header("Content-length: " . count(content)); 
関連する問題