Хобрук: Ваш путь к мастерству в программировании

Как вставить изображение в базу данных mysql?

Я пытаюсь вставить загруженное изображение в базу данных mysql, но получаю сообщение об ошибке. Помогите, пожалуйста. вот ошибка, которую я получаю

Array
(
    [name] => Zonsondergang.jpg
    [type] => image/jpeg
    [tmp_name] => /tmp/phpU9qSru
    [error] => 0
    [size] => 71189
)

data/Zonsondergang.jpg тестовый файл успешно загружен

Предупреждение: file_get_contents(/tmp/phpU9qSru) [function.file-get-contents]: не удалось открыть поток: нет такого файла или каталога в /home/meer/domains/skyup.nl/public_html/upload_Class/upload.php в сети 68 Ошибка! Не удалось вставить файл1

вот мой код для загрузки изображения и вставки изображения в базу данных

include('../inc/con_inc.php');

// Defining Class
$uploaded = new upload;

// Set Max Size
$uploaded->set_max_size(350000);

// Set Directory
$uploaded->set_directory("data");

// Set Temp Name 
$uploaded->set_tmp_name($_FILES['file']['tmp_name']);

// Set file size, 
$_FILES['file']['size'] is automaticly get the size
$uploaded->set_file_size($_FILES['file']['size']);


// Set File Type,
 $_FILES['file']['type'] 
$uploaded->set_file_type($_FILES['file']['type']);

// Set File Name, 
$uploaded->set_file_name($_FILES['file']['name']);


// Start Copy Process
$uploaded->start_copy();


$name=($_FILES['file']['name']);
$data=(file_get_contents($_FILES['file']['tmp_name']));


$query="INSERT INTO download(name,data) VALUES('$name','$data')";
if ($result){
 echo 'Success! Your file was successfully added!';
 }else{
 echo 'Error! Failed to insert the file' ;
 $result=mysql_query($query) or die ('query fout');

 }

вот структура таблицы:

create table download (
    id int primary key not null 
auto_increment,
    name varchar(60),
    data longblob)
25.05.2011

  • Проверьте папки на наличие правильных разрешений для папок. Также я бы сказал, что не рекомендуется хранить изображения в базах данных, и это может замедлить работу сервера mysql, если у вас есть больше запросов на изображения. Вместо этого я бы предложил хранить изображения в виде плоских файлов и просто хранить путь и другие данные в таблице. 25.05.2011
  • Обычно считается плохой идеей вставлять в базу данных большие объемы данных, например изображения. Почему бы вам не переместить загруженные изображения в определенный каталог на вашем сервере и просто сохранить путь к изображениям в вашей базе данных. 25.05.2011
  • спасибо, это логично, я буду хранить только путь 25.05.2011

Ответы:


1
$data=(file_get_contents($_FILES['file']['tmp_name']));

вы не можете этого сделать, так как вы только что загрузили свой файл с помощью класса upload.
у вас должен быть метод или переменная, из которой вы получите фактически загруженный файл, что-то вроде: $uploaded->get_file()
вы должны получить файл контент оттуда (файл, загруженный в вашу папку «данные»)

25.05.2011
Новые материалы

Что такое структура данных?
Структура данных хранит и извлекает данные. Все, что обеспечивает эти две функции, является структурой данных . Период. Вы можете пропустить оставшуюся часть статьи, если ответ..

мои январские чтения по программированию
Эрик Эллиот Программирование приложения JavaScript Эл Свейгарт «Автоматизируйте скучные вещи с помощью Python» Прогрессивное веб-приложение Google..

Создание ассоциаций секвелизации с помощью инструмента командной строки Sequelize
Sequelize - популярный, простой в использовании инструмент объектно-реляционного сопоставления (ORM) JavaScript, который работает с базами данных SQL. Довольно просто начать новый проект с..

Искусственный интеллект в юридической отрасли - пример прогнозирования судебных решений с помощью глубокого обучения
На протяжении всей истории люди полагались на суды, присяжных, королей и королев в отправлении правосудия. Сегодня способность судов обеспечивать справедливое и быстрое правосудие для своих..

Введение в машинное обучение для обнаружения аномалий (часть 1)
Тщательно созданный, тщательно спроектированный ресурс для специалистов по данным. Часть 1 Главы 03 из Руководства по машинному обучению для обнаружения аномалий Внимание! Прежде чем вы..

Начало работы с Pulumi в Digital Ocean
Цифровой океан (ДО) — отличная альтернатива многим другим поставщикам облачных услуг. DO предоставляет простой и понятный пользовательский интерфейс, упрощающий управление инфраструктурой и..

#Day68 из #100days_of_coding
Вчера был мой 68-й день кодинга. я решил один вопрос Проблема: Разбить двоичную строку на подстроки с равным количеством нулей и единиц Дана двоичная строка str длины N . Задача состоит..