欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP 上传/下载存储在数据库中的imge类型数据(图片)

程序员文章站 2022-03-29 08:33:54
...
这篇文章介绍的内容是关于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类型数据(图片)的详细内容,更多请关注其它相关文章!