2015-02-23 2 views
-1

Я работаю над проектом, который должен создать ссылку для загрузки файла xpi.Загрузить xpi-файлы в PHP

T его мой PHP код для загрузки файла:

$fileName = 'file.xpi'; 
$size = filesize($fileName); 

$fp = fopen($fileName, "rb"); 
$content = fread($fp, $size); 
fclose($fp); 

header("Content-length: ".$size); 
header("Content-type: application/x-xpinstall"); 
header("Content-disposition: attachment; filename=".$fileName.";"); 
echo $content; 

штраф Этот код работы, но загруженный файл моя проблема .. когда я бегу, Firefox показывать это сообщение об ошибке:

Это дополнение не может быть установлено, поскольку оно кажется поврежденным.

Оба файла (на сервере и на нем) имеют одинаковую информацию.

файл на сервере

Sive: 14.7 MB (15,509,809 байт)

Sive на диске: 14.7 MB (15,511,552 байт)

загрузить файл

Sive: 14.7 MB (15,509,809 байт)

Sive на диске: 14,7 МБ (15,511,552 байт)

Что мне делать?

+0

Работает ли исходный файл? –

+0

Возможно, лучше: используйте [fpassthu] (http://php.net/manual/en/function.fpassthru.php). Таким образом, вам не нужно загружать весь файл в строку. – GolezTrol

+0

Является ли файл, который вы хотите загрузить с помощью Firefox? Поскольку Firefox попытается установить файлы с окончанием .xpi – DKSan

ответ

1

Откройте загруженный файл в текстовом редакторе, например, в блокноте, и проверьте, нет ли в начале файла ошибок, связанных с PHP.

+0

tanx, я забыл проверить файлы в блокноте! существует строка прерывания в верхней части страницы, которую я создаю, и что «Ввод» присоединен к файлу. точно в точку. – MajiD

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