Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将图像插入mysql数据库?_Php_Mysql_Oop - Fatal编程技术网

Php 如何将图像插入mysql数据库?

Php 如何将图像插入mysql数据库?,php,mysql,oop,Php,Mysql,Oop,我试图将上传的图像插入mysql数据库,但我收到了错误消息。请帮忙。这是我得到的错误 Array ( [name] => Zonsondergang.jpg [type] => image/jpeg [tmp_name] => /tmp/phpU9qSru [error] => 0 [size] => 71189 ) data/Zonsondergang.jpg测试文件已成功加载 警告:file_get_contents(/

我试图将上传的图像插入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]:无法打开流:第68行的/home/meer/domains/skyup.nl/public_html/upload_Class/upload.php中没有此类文件或目录 错误无法插入文件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)
您不能这样做,因为您刚刚使用
upload
类上载了文件。
您应该有一个方法或变量,从中获取实际上载的文件,类似于:
$upload->get_file()


您应该从那里获取文件内容(上传到“数据”文件夹中的文件)

检查文件夹是否具有适当的文件夹权限。我还要说,不建议将图像存储在数据库中,如果您有更多的图像查询,可能会降低mysql服务器的速度。相反,我建议将图像存储为平面文件,只在表中存储路径和其他详细信息。通常认为,将大量数据(如图像)插入数据库是一个坏主意。你为什么不把上传的图像移动到服务器上的一个特定目录中,然后把图像的路径存储在数据库中呢..谢谢,这是合乎逻辑的,我只存储路径
$data=(file_get_contents($_FILES['file']['tmp_name']));