<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 在 PostgreSQL 中使用 PHP 處理圖像 > 原文: [http://zetcode.com/db/postgresqlpimg/](http://zetcode.com/db/postgresqlpimg/) 在 PostgreSQL PHP 教程的這一章中,我們將使用圖像文件。 有些人不同意將圖像放入數據庫。 在這里,我們只展示如何做。 我們不討論是否將圖像保存在數據庫中的技術問題。 ```php testdb=> CREATE TABLE images(id INT PRIMARY KEY, data BYTEA); ``` 對于此示例,我們創建一個名為`images`的新表。 對于圖像,我們使用`BYTEA`數據類型。 它允許存儲二進制字符串。 ## 插入圖像 在第一個示例中,我們將圖像插入 PostgreSQL 數據庫。 ```php <?php $host = "localhost"; $user = "user12"; $pass = "34klq*"; $db = "testdb"; $con = pg_connect("host=$host dbname=$db user=$user password=$pass") or die ("Could not connect to server\n"); $file_name = "woman.jpg"; $img = fopen($file_name, 'r') or die("cannot read image\n"); $data = fread($img, filesize($file_name)); $es_data = pg_escape_bytea($data); fclose($img); $query = "INSERT INTO images(id, data) Values(1, '$es_data')"; pg_query($con, $query); pg_close($con); ?> ``` 我們從當前工作目錄中讀取圖像,并將其寫入 PostgreSQL `testdb`數據庫的圖像表中。 ```php $file_name = "woman.jpg"; ``` 這是我們將插入數據庫的圖像文件的名稱。 該圖像位于當前工作目錄中。 ```php $img = fopen($file_name, 'r') or die("cannot read image\n"); $data = fread($img, filesize($file_name)); ``` 我們從文件系統讀取二進制數據。 ```php $es_data = pg_escape_bytea($data); ``` 二進制數據可能包含一些字符,這些字符可能在將它們插入數據庫表時引起問題。 `pg_escape_bytea()`函數對要插入到`bytea field`中的字符串進行轉義。 以后,當從數據庫中讀取二進制數據時,必須對數據進行轉義。 ```php fclose($img); ``` 指向圖像文件的句柄已關閉。 ```php $query = "INSERT INTO images(id, data) Values(1, '$es_data')"; pg_query($con, $query); ``` 圖像已插入數據庫。 ## 讀取圖像 在本節中,我們將執行相反的操作。 我們將從數據庫表中讀取圖像。 ```php <?php $host = "localhost"; $user = "user12"; $pass = "34klq*"; $db = "testdb"; $con = pg_connect("host=$host dbname=$db user=$user password=$pass") or die ("Could not connect to server\n"); $query = "SELECT data FROM images WHERE id=1"; $res = pg_query($con, $query) or die (pg_last_error($con)); $data = pg_fetch_result($res, 'data'); $unes_image = pg_unescape_bytea($data); $file_name = "woman2.jpg"; $img = fopen($file_name, 'wb') or die("cannot open image\n"); fwrite($img, $unes_image) or die("cannot write image data\n"); fclose($img); pg_close($con); ?> ``` 我們從圖像表中讀取圖像數據并將其寫入另一個文件,我們稱為`woman2.jpg`。 ```php $query = "SELECT data FROM images WHERE id=1"; ``` 這行是一條 SQL `SELECT`語句,用于從表中檢索圖像數據。 ```php $data = pg_fetch_result($res, 'data'); ``` 我們從`images`表的 data 列中獲取數據。 ```php $unes_image = pg_unescape_bytea($data); ``` 當我們將圖像數據插入數據庫時??,我們對其進行了轉義。 現在我們必須將其轉義回原始狀態。 ```php $file_name = "woman2.jpg"; $img = fopen($file_name, 'wb') or die("cannot open image\n"); ``` 我們打開一個文件進行寫入。 新文件名將為`woman2.jpg`。 ```php fwrite($img, $unes_image) or die("cannot write image data\n"); ``` 數據被寫入文件系統。 PostgreSQL PHP 教程的這一部分專門用于讀取和寫入圖像。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看