先建张表
create table if not exists binary_files(
id int(4) unsigned not null auto_increment primary key,
file_name varchar(250) not null,
file_data longblob not null);
PHP中测试
<?php
header('Content-type:text/html;charset=utf-8');
if( $_FILES['myfile'][error] === 0){
if(is_uploaded_file($_FILES['myfile']['tmp_name'])){
echo "{$_FILES['myfile']['tmp_name']}"."文件大小:".filesize($_FILES['myfile']['tmp_name']);
if( $read_file_handle = fopen($_FILES['myfile']['tmp_name'],'r') ){
$read_buffer = fread($read_file_handle,filesize($_FILES['myfile']['tmp_name']));
try{
$pdo = new PDO('mysql:dbname=files;host=localhost','root','123456');
}catch(PDOException $e){
die('connect mysql fail'.$e->getMessage());
}
//向表中插入文件数据
$pdostmt = $pdo->prepare('insert into binary_files (file_name,file_data) values(?,?)');
$pdostmt->execute(array($_FILES['myfile']['name'],$read_buffer));
$read_buffer = '';
@fclose($read_file_hanle);
@unlink($_FILES['myfile']['tmp_name']);
if( !file_exists('savefiles')){
mkdir('savefiles');
}
//从数据库中读取文件,在输出 看看对不对
$pdostmt = $pdo->prepare('select file_data from binary_files where file_name=?');
$pdostmt->execute(array($_FILES['myfile']['name']));
$fetch_result = $pdostmt->fetch(PDO::FETCH_ASSOC);
$put_buffer = $fetch_result['file_data'];
echo $put_buffer;
file_put_contents('./savefiles/'.$_FILES['myfile']['name'],$put_buffer);
}
}
}
最后编辑于 :2017.12.04 02:25:10
©著作权归作者所有,转载或内容合作请联系作者 【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。 平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。