在活动模式下使用Filezilla上传到我的网站之前,我会检查.iso文件的MD5sum。MD5sum是在网站上计算的,并与上传之前计算的值相匹配。如果我使用下面的代码从网站下载相同的文件,MD5sum是不同的。
<?php
$php_scripts = '../../php/';
require $php_scripts . 'PDO_Connection_Select.php';
require $php_scripts . 'GetUserIpAddr.php';
function mydloader($l_filename=NULL)
{
$ip = GetUserIpAddr();
if (!$pdo = PDOConnect("foxclone"))
{
echo "Failed to connect to database" ;
exit;
}
if( isset( $l_filename ) ) {
// var_dump($ip,$l_filename);
$stmt = $pdo->prepare("INSERT INTO download (IP_ADDRESS, FILENAME) VALUES (?, ?)");
$stmt->execute([$ip, $l_filename]) ;
header('Content-Type: octet-stream');
header("Content-Disposition: attachment; filename={$l_filename}");
header('Pragma: no-cache');
header('Expires: 0');
readfile($l_filename);
echo "Made it here";
}
else {
echo "isset failed";
}
}
mydloader($_GET["f"]);为什么会发生这种情况?
编辑:通过在atom编辑器中打开原始iso和下载的iso,我找到了不同之处。下载的版本在文件开头添加了以下内容:
herestring(14) “xx.xxx.xxx.xxx” <— my ip
string(17) “foxclone35-02.iso”
herestring(14) “xx.xxx.xxx.xxx”
string(17) “foxclone35-02.iso”发布于 2020-04-16 23:48:44
通过删除添加到下载文件中的一些调试代码解决了此问题。
https://stackoverflow.com/questions/61250802
复制相似问题