添加 swf 文件时清空 zip 格式的文件


Empty files in zip when adding swf files

im 尝试从 url 下载 SWF 文件,从编号 1752 到编号 1760。我做了一个代码,一切似乎都很好,但文件坏了!它们的大小为 0,它们是空的!(SWF 文件)我不知道我的代码出了什么问题。这是我的代码:

<?php 
$num = 1753;
$files = array('');
while($num !== 1760){
array_push($files, '');
$num++;
}
print_r($files);
    $zip = new ZipArchive();
$tmp_file = tempnam('.','');
$zip->open($tmp_file, ZipArchive::CREATE);
foreach($files as $file){
    $download_file = file_get_contents($file);
    $zip->addFromString(basename($file),$download_file);
}
$zip->close();
header('Content-disposition: attachment; filename=Resumes.zip');
header('Content-type: application/zip');
readfile($tmp_file);
?>

帮助?

服务器没有名为 $num.swf 的文件,您会收到 404 错误。

如果您希望 PHP 将变量插入到其值中,则需要使用双引号

while($num !== 1760){
    $files[] = "mogobe.walla.co.il/Swf/AssetsClean/Items/IconS/$num.swf";
    $num++;
}

您忘记了协议前缀以及变量插值(如Rocket Hazmat回答的那样)。

while($num !== 1760){
  $files[] = "http://mogobe.walla.co.il/Swf/AssetsClean/Items/IconS/$num.swf";
  $num++;
}