Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: RaccoonОтветов: 1
<?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 в виде большого двоичного объекта в базе данных, но ужасно борюсь с этим :( Я пробовал много руководств и читал документы, но все равно не повезло. Любые предложения или руководства, которые могут мне помочь..?

  • Когда ваш вызов fopen дает сбой, какая ошибка выводится? Попробуйте использовать E_ALL | E_STRICT в качестве уровня сообщения об ошибках, чтобы получить дополнительную информацию. Jonathan Chan 21.10.2011
  • Извините, а каким будет код ..? Я понятия не имею, как использовать то, что вы предложили Raccoon 21.10.2011

phpblobfread

Ответы

Ответ 1 · рейтинг 7 · Phil

При открытии бинарных файлов с 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);

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы