Home  >  Article  >  Backend Development  >  PHP uploads/downloads imge type data (pictures) stored in the database

PHP uploads/downloads imge type data (pictures) stored in the database

不言
不言Original
2018-04-16 10:47:191362browse

The content of this article is about PHP uploading/downloading imge type data (pictures) stored in the database. It has a certain reference value. Now I share it with everyone. Friends in need can refer to it

//上传扫描件(图片以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;    
     }
     }


The above is the detailed content of PHP uploads/downloads imge type data (pictures) stored in the database. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn