我有这个代码:
$input = fopen("input.uue", "rb");
$output = fopen("output.tar.gz", "wb");
$string = fread( $input, 10000000 );
$converted_string = convert_uudecode( $string );
echo $converted_string;
echo fwrite( $output, $converted_string );
但是 convert_uudecode 只返回 2 个字节而不是几十个。
“input.uue”是 100% 正确的文件(我可以通过我的存档器打开它)。
怎么了?
UPD:我已经删除了由 uuencode() 工具添加的初始“begin ...”和“end”,但现在它只读取 87 个字节... UPD2已 解决。案例是 UNIX 和 Windows 的行尾符号之间的差异。
tr -d '\15\32' < windows_encoded_file > unix_encoded_file
解决了这个问题。