在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  數(shù)據(jù)庫  HTML/ php 上載圖片壓縮再存入數(shù)據(jù)庫?

php 上載圖片壓縮再存入數(shù)據(jù)庫?

if($_FILES['myFile_cover']['size']!='')
    {
        unlink('ourstory/'.$addfirstROW['id'].'.jpg');
        unlink('ourstory/'.$addfirstROW['id'].'.JPG');
        unlink('ourstory/'.$addfirstROW['id'].'.png');
        unlink('ourstory/'.$addfirstROW['id'].'.PNG');
        unlink('ourstory/'.$addfirstROW['id'].'.jpeg');
        unlink('ourstory/'.$addfirstROW['id'].'.JPEG');
        $target_dir = "ourstory/";
        $target_file = $target_dir . basename($_FILES["myFile_cover"]["name"]);
        $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
        $imagename = $addfirstROW['id'] . '.' . $imageFileType;
        $destination = $target_dir . $imagename;


        if(move_uploaded_file($_FILES["myFile_cover"]["tmp_name"], $destination))
        {
            $SQL = mysql_query("UPDATE `x` SET `x` = '".$destination."' WHERE `id` = id ");
        }
    }

如何將這個程式加入直接壓縮圖片?再存入database?

回答
編輯回答
薄荷綠

可以考慮JS先壓縮, 數(shù)據(jù)庫存訪問路徑
http://www.jianshu.com/p/6a45...

2017年8月9日 19:03
編輯回答
愛是癌

數(shù)據(jù)庫保存圖片二進制不可取,磁盤IO是比較慢的!一般的做法是把上傳后的圖片路徑保存到數(shù)據(jù)庫,考慮性能的話,可以購買cdn服務

2017年3月2日 16:02
編輯回答
誮惜顏

數(shù)據(jù)庫只存圖片路徑

2017年5月30日 21:09
編輯回答
陌璃

文件圖片上傳、
應該是文件上傳后放置在某個文件夾,然后取得路徑,再把路徑寫入數(shù)據(jù)庫
直接存到數(shù)據(jù)庫會有問題,圖片的編碼解碼很耗資源。

2017年1月27日 04:21
編輯回答
厭惡我
CREATE TABLE `upload` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `type` varchar(20) NOT NULL,
  `data` mediumblob NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
<?php
if ($_FILES["file"]["error"] > 0)
{
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
    $type = $_FILES["file"]["type"];
    $size = $_FILES['file']['size'];
    $tmp=$_FILES["file"]["tmp_name"];
    $fp = fopen($tmp,'rb');
    $data = bin2hex(fread($fp,$size));
    $dsn='mysql:host=localhost;dbname=test';
    echo '<pre>';
    try{
        $pdo = new PDO($dsn,'root','root');
        $pdo->exec("INSERT INTO `upload`(`type`,`data`) values ('$type',0x$data)");
        $id = $pdo->lastInsertId();
        echo 'upload success!<a href="view.php?id='.$id.'">View</a>';
        $pdo = null;
    }catch (PDOException $e){
        echo $e->getMessage();
    }
    echo '</pre>';
    fclose($fp);
}

壓縮的話可以試用php的gzip系列函數(shù)進行壓縮。然后再入庫。出庫的時候先解壓

2018年9月8日 21:36