我希望你能帮助我解决这个问题。我测试了一个非常简单的脚本,在下载之前为zip文件添加注释,它工作正常,所以现在我决定尝试将其实现到文件托管脚本中,但我无法找到编辑方法生成的文件。
在这个文件的第59行:https://pastebin.com/i3iBmW8s(这是为我的文件生成下载链接的文件),你可以看到我的编辑,我也将在下面发布:
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
$ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
$ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
$ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
$ipaddress = getenv('REMOTE_ADDR');
else
$ipaddress = 'UNKNOWN';
# Create a new Archive
$zip = new ZipArchive;
# Create the file to archive to
$res = $zip->open($file, ZipArchive::CREATE);
# If create works
if ($res === TRUE) {
# Create the comment here
$zip->setArchiveComment(base64_encode($ipaddress));
$zip->close();
}
基本上它可以附加将其下载到zip文件中的IP作为评论。
作为独立脚本,它工作正常,但我很难将其实现到文件托管脚本中,因为文件下载时,它是未修改的。
我想问题是变量$ file可能不正确,因为作为独立脚本,它足以在那里指定存档的名称,以便附加注释然后下载它,同时使用文件托管脚本,如果我分配保存文件名的变量(即$ file-> originalFilename),仍然没有任何反应。
希望你能协助我正确实现我的脚本,谢谢。
原来我是对的,问题是变量$file
不正确,因为脚本无法将其定义为对象
我挖了一遍,找到了正确的变量,在文件托管脚本中保存了文件的完整路径,结果是:
$file->getFullFilePath()