X

PHP и файлы в MySql

Как записать файл в базу данных, чтобы он не портился?

Используйте base64 кодировку!

Base64 это кодировка которая позволяет кодировать последовательность произвольных байт в последовательность печатных ASCII символов. Для определения Base64, смотрите RFC 1421 или RFC 2045. Base64 в основном используется как кодировка передачи MIME для email.

На PHP это выглядит примерно так:

    $file = file_get_contents('image.jpg');  
    $fileb64 = base64_encode ($file);  
    mysql_query('INSERT INTO `table` SET `file`='.mysql_real_escape($fileb64));

тоже самое с большим массивом с битовыми данными

    $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));

Для раскодирования используем соответственно:

    $fileb64 = base64_decode ($data );

и

    $fileb64 = unserialize(base64_decode ($data ));
Категории: PHP