PHP Kuvvet indir dönüş bozuk dosya [kapalı]

3 Cevap php

Merhaba ben şu anda bazı php üzerinde çalışıyorum - benim osx Zend Framework proje - apache. Ben indirilen dosyalar bozuk ve dosyanın boyutu 5.4 kb olduğunu benim php uygulamasını kullanarak bazı dosyaların indirme zorlamak istediğimiz zaman hiç sorun değil! Benim kod pek çok değişiklik çalıştı ve hatta indirme zorlamak için bazı sınıflar kullanılabilir ama yine sorun aynı olduğunu var! Ben kimse benim kontrolörleri eylemlerinin kuvvet indirme kullanılan diyebilirim. Yeniden yazma ya da bir şey seviyor bu dosyanın indirilmesi üzerinde etkilemez mi?!

Bu taban kodu:

header('Content-Description: File Transfer');
	header('Content-Type: application/octet-stream');
	header('Content-Disposition: attachment; filename='.basename($file["files_url"]));
	header('Content-Transfer-Encoding: binary');
	header('Expires: 0');
	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
	header('Pragma: public');
	header('Content-Length: ' . filesize($file["files_url"]));
	ob_clean();
	flush();
	readfile($file["files_url"]);
	exit;*/

Ve ben kullanılan Sınıflar: BF_Download

$download = new Download($file["files_url"],$file["files_title"],"on",20);
	$download->download_file();

Ve:

$zip = new zip_file("../".$file["files_title"].".zip");

	$zip->set_options(array('inmemory' => 1, 'recurse' => 0, 'storepaths' => 0));
	$zip->add_files($file["files_url"]);
	$zip->create_archive();
	$zip->download_file();*/

3 Cevap

Tamam, ben, dcaunt gelen son yorumun yardımıyla sorunu buldu Aslında ben sadece çıktı dosyasının ikili kaynak bakmak almak ve minik satır karakteri ve uzay ilk satırda orada olduğunu fark , bu yüzden onları kaldırarak, kendisine dosya dönüş normal devlet ve o okunabilir hale geldi. Peki bu boşlukları yok etmek için benim denetleyicisi? ">" Benim php komut dosyası etiketi ucunu kaldırmak decieded, ve bu çıkış içeriğiyle onları göndermek için değil php neden olur. Herhangi Yorumlarınız için teşekkür ederim :)

Web sayfasında ikili veri olarak dosyayı inceleyen deneyin. Ne oluyor olabilir bazı PHP hata çıkış içine sinsi ve bozgunculuk olmasıdır.

Yani içerik türü başlıklarını atlayın ve sadece saf verilere bakabilirsiniz.

Sen hala görmüyorsanız, inceliğini tutmak ve hata günlüğüne bakın.

Bellekte veya disk üzerindeki bir dosyadan veri göndermek ve kolay önbelleğe alma ve içerik seçeneklerini ayarlamak için yapar olabilir - Ben şiddetle dosya göndermek için bu Action Helper kullanmanızı tavsiye

Isim SendFile rağmen, apache dosya gönderme bir gereklilik değildir.