我有这段代码:
$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 : 我已经删除了初始的'begin ...'和'end',由uuencode()工具添加,但现在它只读取87个字节... 的 UPD2 解决了。案例是UNIX和Windows的行尾符号之间的区别。
tr -d '\15\32' < windows_encoded_file > unix_encoded_file
解决了这个问题。