Загрузка файла не верная

Discussion in 'PHP' started by Alex_Vichi, 16 Apr 2011.

  1. Alex_Vichi

    Alex_Vichi New Member

    Joined:
    9 Dec 2010
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    PHP:
    $file="../file/asdfgfd.jpg";


    $file_download=base64_decode($file);


    header ("Content-Type: application/octet-stream"); 
    header ("Accept-Ranges: bytes"); 
    header ("Content-Length: ".filesize($file_download));  
    header ("Content-Disposition: attachment; filename=".$file_download);   
    readfile($file_download);

    При этом браузер предлогает сохранить файл как asdfgfd.htm
    Пачему??? с гиф файлами норм с архивами тож норм а с жпг не нормально.
     
  2. Alex_Vichi

    Alex_Vichi New Member

    Joined:
    9 Dec 2010
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    Вернее ...
    $file="Li4vZmlsZS9hc2RmZ2ZkLmpwZw==";

    после декода буит таким
    $file_download="../file/asdfgfd.jpg";
     
  3. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    1)У вас там ошибки readfile($file_download); вы читаете не файл а закодированную строку.
    2) filesize($file_download) вы считаете не размер файла.

    PHP:
    <?php
    $file_name 
    '1/1.gif';
    $fsize filesize($file_name);

    header ("Content-Type: application/octet-stream");  
    header ("Accept-Ranges: bytes");  
    header ("Content-Length: ".$fsize);   
    header ("Content-Disposition: attachment; filename=".$file_name);    
    readfile($file_name);
    ?>

    АП: пост №2 не видел когда писал.
     
    _________________________