Php 如何将图像插入mysql数据库?
我试图将上传的图像插入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(/
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']));