Как преобразовать изображение jpg в правильный тип данных blob с помощью php


<?php
$file_name = $_FILES['files']['name'];
$tmp_name  = $_FILES['files']['tmp_name'];
$file_size = $_FILES['files']['size'];
$file_type = $_FILES['files']['type'];

// The codes written above work fine and have proper information.

$fp = fopen($tmp_name, 'r'); // This one crashes.
$file_content = fread($fp, $file_size) or die("Error: cannot read file");
$file_content = mysql_real_escape_string($file_content) or die("Error: cannot read file");
fclose($fp);

....

Я новичок в PHP. Я пытаюсь сохранить изображение jpg в виде большого двоичного объекта в базе данных, но ужасно борюсь с этим: (Я перепробовал много учебных пособий и прочитал документы, но все равно безуспешно. Любые предложения или учебные пособия, которые могли бы мне помочь..?

Author: Raccoon, 2011-10-21

1 answers

При открытии двоичных файлов с помощью fopen() используйте режим rb, т.е.

$fp = fopen($tmp_name, 'rb');

В качестве альтернативы вы можете просто использовать file_get_contents(), например

$file_content = file_get_contents($tmp_name);

Чтобы улучшить отчетность об ошибках, поместите это в верхней части вашего скрипта

ini_set('display_errors', 'On');
error_reporting(E_ALL);
 5
Author: Phil, 2011-10-21 05:43:30