这篇文章介绍的内容是关于php 上传/下载存储在数据库中的imge类型数据(图片),有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
//上传扫描件(图片以img数据类型存入数据中)
function mod_addPhoto()
{
global $row_User;
global $mssql_connection;
if ($_FILES['myfile']['error'] > 0) {
$back = array(
'message' => 'error',
'date' => '文件错误'
);
echo json_encode($back);
exit();
} else {
//判断是否选择了要上传的表格
if (empty($_POST['upfile'])) {
$back = array(
'message' => 'error',
'date' => '上传文件不能为空'
);
echo json_encode($back);
exit();
}
//获取表格的大小,限制上传表格的大小5
$file_size = $_FILES['myfile']['size'];
if ($file_size > 100 * 1024 * 1024) {
$back = array(
'message' => 'error',
'date' => '文件大小不能超过5M'
);
echo json_encode($back);
exit();
}
//获取文件参数
$imgfile = $_FILES['myfile'];
$name = $imgfile['name']; //取得图片名称
$type = $imgfile['type']; //取得图片类型
$size = $imgfile['size']; //取得图片长度
$tmpfile = $imgfile['tmp_name']; //图片上传上来到临时文件的路径
$file = fopen($tmpfile, 'rb');
$content = fread($file, $size);
$content = "0x" . bin2hex($content);
fclose($file);
//限制上传表格类型
$file_type = $_FILES['myfile']['type'];
$file_type=substr($file_type, 6);
//获取当前时间
date_default_timezone_set('PRC');
$now_time = date('Y-m-d H:i:s', time());
//保存到数据库
$OAV_ID = $_GET['OAV_ID'];
$OVA_ID = create_ID("OA_VehicleAttach");
global $mssql_connection;
if (!$mssql_connection) {
$mssql_connection = open_mssqlconn();
}
$sfu_id = $row_User['SFU_ID'];
$sql1 = "INSERT INTO OA_VehicleAttach (OAV_ID, OVA_ID,OVA_Name, OVA_Date, OVA_Type, OVA_Size, OVA_Data, OVA_User)
VALUES ('$OAV_ID', '$OVA_ID', '$name','$now_time','$file_type',$file_size, $content,'$sfu_id' )";
$sql = iconv("utf-8", "gbk", $sql1);
//PHP使用UTF-8编码。SQL Server 2008使用默认的GBK编码 在执行查询语句之前将查询语句及所要插入的数据转化为GBK编码。
$cursor = sqlsrv_query($mssql_connection, $sql);
$aa = sqlsrv_rows_affected($cursor);
if ($aa) {
$back = array(
'message' => 'success',
'date' => '文件上传成功'
);
echo json_encode($back);
exit();
} else {
$back = array(
'message' => 'fail',
'date' => '文件上传失败'
);
echo json_encode($back);
exit();
}
}
}
//下载扫描件
function mod_down_scanning_copy()
{
$id = $_GET['OVA_ID'];
//$id = getGP('OAV_ID', 'G');
$sql = "SELECT OVA_ID,OAV_ID,OVA_Name,OVA_Data,OVA_User,OVA_Size FROM OA_VehicleAttach where OVA_ID='" . $id . "'";
$cursor = mssqlquery($sql);
$row = sqlsrv_fetch_array($cursor, SQLSRV_FETCH_ASSOC);
if(isset($row['OVA_Name'])){
$filename=$row['OVA_Name'];
$filedata=$row['OVA_Data'];
$filesize=$row['OVA_Size'];
}
// $binaryStr = base64_decode($filedata);
// file_put_contents($filename, $binaryStr);
$filePath = 'download/' . $filename;
$file = fopen($filePath, "w");//打开文件准备写入
fwrite($file, $filedata);//写入
fclose($file);//关闭
// header("content-disposition:attachment;filename=".$filename);
// header("content-length:".$filesize);
// readfile($filedata);
if(file_exists($filePath)){
header("Content-type:application/octet-stream");
header("Content-Disposition:attachment;filename = ".$filename);
header("Accept-ranges:bytes");
header("Content-length:".$filesize);
readfile($filePath);
}
}
//SQL查询
function mssqlquery($Q)
{
global $mssql_connection;
if (!$mssql_connection) {
$mssql_connection = open_mssqlconn();
}
$Q = iconv("utf-8", "gbk", $Q);
$cursor = sqlsrv_query($mssql_connection, $Q);
if (!$cursor) {
echo "SQL查询出错.\n";
die(print_r(sqlsrv_errors(), true));
}
return $cursor;
}
//获取数据库连接
$mssql_connection = '';
function open_mssqlconn()
{
global $mssql_connection;
// global $MSSQL_SERVER;
// global $connectionInfo;
$MSSQL_SERVER = "DESKTOP-CA04H1Q\SQLEXPRESS";
$connectionInfo = array("Database" => "ToncentHuaJie", "UID" => "用户名", "PWD" => "密码");
if (!$mssql_connection) {
$mssql_link = sqlsrv_connect($MSSQL_SERVER, $connectionInfo);
// sqlsrv_query("set NAMES GBK");
if (!$mssql_link) {
echo "Could not connect.\n";
die(print_r(sqlsrv_errors(), true));
}
return $mssql_link;
} else {
return $mssql_connection;
}
}以上就是PHP 上传/下载存储在数据库中的imge类型数据(图片)的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号