convert_uuencode
(PHP 5)
convert_uuencode — Кодирует строку в формат uuencode
Описание
string convert_uuencode
( string $data
)
convert_uuencode() кодирует строку с помощью алгоритма uuencode.
Кодирование uuencode переводит строки (включая бинарные символы) в последовательности печатных (7-битных) ASCII-символов, что позволяет безопасно обмениваться данными через сеть. Закодированные данные примерно на 35% больше оригинала.
Список параметров
- data
-
Кодируемые данные.
Возвращаемые значения
Возвращает закодированные данные в формате uuencode.
Примеры
Пример #1 Пример использования convert_uuencode()
<?php
$some_string = "test\ntext text\r\n";
echo convert_uuencode($some_string);
?>
Смотрите также
- convert_uudecode() - Декодирует строку из формата uuencode в обычный вид
- base64_encode() - Kодирует данные алгоритмом MIME base64
- addcslashes
- addslashes
- bin2hex
- chop
- chr
- chunk_split
- convert_cyr_string
- convert_uudecode
- convert_uuencode
- count_chars
- crc32
- crypt
- echo
- explode
- fprintf
- get_html_translation_table
- hebrev
- hebrevc
- hex2bin
- html_entity_decode
- htmlentities
- htmlspecialchars_decode
- htmlspecialchars
- implode
- join
- lcfirst
- levenshtein
- localeconv
- ltrim
- md5_file
- md5
- metaphone
- money_format
- nl_langinfo
- nl2br
- number_format
- ord
- parse_str
- printf
- quoted_printable_decode
- quoted_printable_encode
- quotemeta
- rtrim
- setlocale
- sha1_file
- sha1
- similar_text
- soundex
- sprintf
- sscanf
- str_getcsv
- str_ireplace
- str_pad
- str_repeat
- str_replace
- str_rot13
- str_shuffle
- str_split
- str_word_count
- strcasecmp
- strchr
- strcmp
- strcoll
- strcspn
- strip_tags
- stripcslashes
- stripos
- stripslashes
- stristr
- strlen
- strnatcasecmp
- strnatcmp
- strncasecmp
- strncmp
- strpbrk
- strpos
- strrchr
- strrev
- strripos
- strrpos
- strspn
- strstr
- strtok
- strtolower
- strtoupper
- strtr
- substr_compare
- substr_count
- substr_replace
- substr
- trim
- ucfirst
- ucwords
- vfprintf
- vprintf
- vsprintf
- wordwrap
Коментарии
This function can be useful if you wish to store files in a MySQL database, it will save any problems with obscure binary data breaking the queries.
just remember to convery-uudecode before you try to use the data again.
(A common example of something that uses this system, would be email attachments)
This functionality is now implemented in the PEAR package PHP_Compat.
More information about using this function without upgrading your version of PHP can be found on the below link:
http://pear.php.net/package/PHP_Compat
uuencode is recognisable as email attachment in Ms Outlook, but in Outlook Express (at least in older versions) - is not.
This is shell script, but it may give you an idea how you can send attachments using uuencode:
cat file.bin | uuencode file.bin | mail someone@domain.com -s "file.bin"
uuencode mail attachments from other point of wiev are deprecated. However I use such technic for years now and it work well.
Note to the tip of Craig at frostycoolslug dot com:
If you are using fulltext functionality on columns with uuencoded texts, collations will not work. You might prefer to pass the text escaped to the database engine.
@Craig's note: base64_encode() is better suited for that. In fact, it produces smaller output and operates slightly faster. I did a little benchmark -- here are my findings:
File: JPG, 631614 bytes
== Base64 ==
execution time: 0.0039639472961426 secs
output length: 842152
== UUencode ==
execution time: 0.004105806350708 secs
output length: 870226
if you want to use convert_uuencode with command uudecode you must insert a line "begin %s %s\n" at the beginning and "end\n" at the end:
<?php
echo "begin 644 hello.txt\n";
echo convert_uuencode("hello");
echo "end\n";
?>
the first arg. after begin is the mode (destination file rights), the second is the destination file name.
Then you can do a wget followed by a uudecode.
JA.
note that using base64 or uuencode to store data in a database is pretty useless. if you properly escape your data and use a binary field (BLOB etc) there is no problem.Using uuencode for passwords isn't any more secure than plain text (maybe slightly: non-developers or too lazy to figure out what you used). mcrypt or even md5 is much more secure.