2013-11-21 2 views
1

Я пытаюсь загрузить zip-файл с моего localhost.The файл загружается, но дает сообщение об ошибке «invalid», когда я его открываю. Я использую следующий код: -Как загрузить Zip-файл из Localhost в php?

$filename = "markers.zip"; 
`if(file_exists($filename) && is_readable($filename)){ 
     header("Content-Disposition: attachment; filename=".basename($filename)); 
     header("Content-Type: application/force-download"); 
     header("Content-Type: application/zip"); 
     header("Content-Description: File Transfer"); 
     header("Content-Length: " . filesize($filename)); 
     flush(); 
     $fp = fopen($filename, "r"); 
     while (!feof($fp)) 
     { 
      echo fread($fp, 65536); 
      flush(); 
     } 
     fclose($fp); 
     exit; 
    }` 
+0

У вас есть три заголовки типа содержимого там, все из них неправильно. Тип носителя для zip-файлов - 'application/zip' – Quentin

+1

И почему все' flush() 'и цикл? Просто используйте 'readfile()'. – AbraCadaver

+1

Пример: http://us3.php.net/manual/en/function.readfile.php показывает, как выполнить загрузку. Просто используйте правильный 'Content-Type', и вы должны быть настроены. – Barmar

ответ

1
<?php 
$file = "file.zip"; 
header('Content-type: application/x-download'); 
header('Content-Disposition: attachment; filename="'.$file.'"'); 
header('Content-Length: '.filesize($file)); 
readfile($file); 
?> 
+0

Вы можете использовать пример с сайта php: http://us2.php.net/readfile – waza123

 Смежные вопросы

  • Нет связанных вопросов^_^