Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function yencFileEncode($fileName, $linelen = 128, $crc32 = true) {
- $string = NULL;
- $encoded = "";
- if ($fp = @fopen($fileName, "rb")) {
- while (!feof($fp))
- $string .= fread($fp, 8192);
- fclose($fp);
- if ($linelen > 254)
- $linelen = 254;
- if ($linelen < 1) {
- $this->error = "$linelen is not a valid line length.";
- return false;
- }
- for ($i = 0; $i < strlen($string); $i++) {
- $value = (ord($string{$i}) + 42) % 256;
- if ($value == 0 || $value == 9 || $value == 10 || $value == 13 || $value == 32 || $value == 46 || $value == 61)
- $encoded .= "=" . chr(($value + 64) % 256);
- else
- $encoded .= chr($value);
- }
- $encoded = trim(chunk_split($encoded, $linelen));
- $encoded = "=ybegin line=$linelen size=" . strlen($string) . " name=" . trim($fileName) . "\r\n" . $encoded;
- $encoded .= "\r\n=yend size=" . strlen($string);
- if ($crc32 === true)
- $encoded .= " crc32=" . strtolower(sprintf("%04X", crc32($string)));
- return $encoded . "\r\n";
- }
- return "error";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement