2016-06-25 9 views
0

私は次のコードを使用して、アセットバンドルをダウンロードしています:PHPを使って強制的にユニティ資産バンドルをダウンロードする方法はありますか?

<?php 
$file_url = "AssetBundle/bundle-numb"; 
header("Content-Type: application/zip"); 
header("Content-Disposition: attachment; filename=".basename($file_url)); 
readfile($file_url); 
>? 

はしかし、唯一のいくつかのバイトがダウンロードさと、私は、ファイルを開いたときに、私は同じことをしようとすると

filesize(): stat failed for .... 

を言ってエラーが出ます他のファイルをダウンロードするコードは正常に動作しますが、アセットバンドルでは動作しません。

アセットバンドルはデフォルトでLZMA圧縮されており、アセットバンドルにはファイル拡張子がないと思います。

http:XXXXXXXXXX.com/AssetBundle/bundle-numb 
+0

を使用して解決策を見つけたと思う:

のダウンロードは、私がブラウザで直接、次を使用するときに正常に動作します。どこからファイルをダウンロードしていますか? UnityアプリケーションでAssetをダウンロードしようとしていますか? – Programmer

+0

私は最初にブラウザで動作しているかどうかをチェックしていますが、そうではありません。 –

+0

この問題を解決するにはどうしたらいいですか? –

答えて

0

私はこの質問は完全なものではありませんPHP

<?php 
$fileName = basename('bundle-rainbow'); 
$filePath = 'AssetBundles/'.$fileName; 
if(!empty($fileName) && file_exists($filePath)){ 
    // Define headers 
    header("Cache-Control: public"); 
    header("Content-Description: File Transfer"); 
    header("Content-Disposition: attachment; filename=$fileName"); 
    header("Content-Type: application/zip"); 
    header("Content-Length:".filesize($filePath)); 
    header("Content-Transfer-Encoding: binary"); 

    // Read the file 
    readfile($filePath); 
    exit; 
}else{ 
    echo 'The file does not exist.'; 
    echo $fileName; 
} 
?> 
    // Read the file 
    readfile($filePath); 
    exit; 
}else{ 
    echo 'The file does not exist.'; 
    echo $fileName; 
} 
?> 
関連する問題