PHP и файлы в MySql
Как записать файл в базу данных, чтобы он не портился?
Используйте base64 кодировку!
Base64 это кодировка которая позволяет кодировать последовательность произвольных байт в последовательность печатных ASCII символов. Для определения Base64, смотрите RFC 1421 или RFC 2045. Base64 в основном используется как кодировка передачи MIME для email.
На PHP это выглядит примерно так:
1 2 3 4 5 |
$file = file_get_contents('image.jpg'); $fileb64 = base64_encode ($file); mysql_query('INSERT INTO `table` SET `file`='.mysql_real_escape($fileb64)); |
тоже самое с большим массивом с битовыми данными
1 2 3 4 5 |
$file = Array(file_get_contents('image.jpg'), file_get_contents('image2.jpg')); $fileb64 = base64_encode ( serialize($file) ); mysql_query('INSERT INTO `table` SET `file`='.mysql_real_escape($fileb64)); |
Для раскодирования используем соответственно:
1 2 3 |
$fileb64 = base64_decode ($data ); |
и
1 2 3 |
$fileb64 = unserialize(base64_decode ($data )); |
Author: | Tags: /
| Rating:
Leave a Reply