如何使用 php 强制下载统一资产包?
How to force download unity asset bundle using 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
我想我找到了使用 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;
}
?>
我正在使用以下代码下载资产包:
<?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
我想我找到了使用 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;
}
?>