私はこのコードを持っています:
$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
問題を解決しました。