php檔案上傳 php上傳檔案到資料庫
php如何上傳檔案到資料庫中,這裡分享幾個例子,掌握下php將檔案儲存到mysql資料庫的方法,怎麼讓php上傳檔案並儲存到資料庫的實例程式碼。
php上傳檔案到資料庫 無非是在資料庫中建一個longblob字段來保存這個文件 不過如果上傳4--5m的文件,這時候就會有些問題要注意 1,修改php.ini post_max_size upload_max_filesize2個參數的值,使他們比你需要上傳檔案的大小大 2,修改my.cnf 修改mysql資料庫的max_allowed_packet參數的值 此參數意義: max_allowed_packet 一個包的最大尺寸。訊息緩衝區被初始化為net_buffer_length字節,但是可在需要時增加到max_allowed_packet個位元組。缺省地,該值太小必能捕捉到大的(可能錯誤)包。如果你正在使用大的blob列,你必須增加該值。它應該像你想要使用的最大blob的那麼大。 一、php把圖片上傳到資料庫 建立3個php檔: readdir.php - 把圖片放到資料庫的程式碼 image.php - 顯示實際圖片的程式碼 view.php - 顯示你如何呼叫資料庫中的圖片的程式碼 1,建立一個資料庫 create table `images` ( `imgid` int not null auto_increment , `sixfourdata` longtext not null , primary key ( `imgid` ) );readdir.php 具體內容: $dbcnx = mysql_connect("localhost", "username", "password"); mysql_select_db("base64imgdb"); ?> '需要開啟一個目錄 "./" 'readdir.php 檔案定位於這個目錄: $path = "./"; $dir_handle = opendir($path) or die("unable to open directory $path");把圖象分類,並且讀出正在使用的一些數據 fopen '轉換 base64_encode ' 插入到表裡 while ($file = readdir($dir_handle)) { $filetyp = substr($file, -3); if ($filetyp == 'gif' or $filetyp == 'jpg') { $handle = fopen($path . "/" . $file,'r'); $file_content = fread($handle,filesize($path . "/" . $file)); fclose($handle); $encoded = chunk_split(base64_encode($file_content)); $sql = "insert into images set sixfourdata='$encoded'"; mysql_query($sql); } } ?>關閉設定的目錄,然後處理: closedir($dir_handle); echo("complete"); mysql_close($dbcnx); ?>讀出圖片的程式碼:image.php $dbcnx = mysql_connect("localhost", "username", "password"); mysql_select_db("base64imgdb"); ?>讀出圖片使用的程式碼image.php?img=x: $img = $_request["img"]; ?>之後需要連接資料庫,然後讀出: $result = mysql_query("select * from images where imgid=" . $img . ""); if (!$result) { echo("請求錯誤: " . mysql_error() . ""); exit(); } while ($row = mysql_fetch_array($result)) { $imgid = $row["imgid"]; $encodeddata = $row["sixfourdata"]; } ?> mysql_close($dbcnx); echo base64_decode($encodeddata); ?> 理解base64-encoded 圖象資料格式。
"讓我們來看看具體的圖片吧!" view.php
image.php?img=1
image.php?img=357
readdir.php: ################################ # db connection # change these values ################################ $dbcnx = mysql_connect("localhost", "username", "password"); mysql_select_db("base64imgdb"); ############################### # db connection # change these values ############################### $dbcnx = mysql_connect("localhost", "username", "password"); mysql_select_db("base64imgdb"); $path = "./"; $dir_handle = opendir($path) or die("unable to open directory $path"); while ($file = readdir($dir_handle)) { $filetyp = substr($file, -3); if ($filetyp == 'gif' or $filetyp == 'jpg') { $handle = fopen($file,'r'); $file_content = fread($handle,filesize($file)); fclose($handle); $encoded = chunk_split(base64_encode($file_content)); $sql = "insert into images set sixfourdata='$encoded'"; mysql_query($sql); } } closedir($dir_handle); echo("complete"); mysql_close($dbcnx); ?> image.php: $dbcnx = mysql_connect("localhost", "username", "password"); $dbcnx = mysql_connect("localhost", "username", "password"); mysql_select_db("base64imgdb"); $img = $_request["img"]; $result = mysql_query("select * from images where imgid=" . $img . ""); if (!$result) { echo("error performing query: " . mysql_error() . ""); exit(); } while ($row = mysql_fetch_array($result) ) { $imgid = $row["imgid"]; $encodeddata = $row["sixfourdata"]; } mysql_close($dbcnx); echo base64_decode($encodeddata); ?> view.php (i shouldnt need to post this..) ..二、怎麼讓php 上傳檔案並存進資料庫 1、show_info.php
$num=mysql_num_rows($result); if($num $data = mysql_result($result,0,"file_data"); $type = mysql_result($result,0,"file_type"); $name = mysql_result($result,0,"file_name"); mysql_close($conn); //先輸出對應的檔案頭,並且恢復原來的檔名 header("content-type:$type"); header("content-disposition: attachment; filename=$name"); echo $data; ?> 2、show_info.php
$sql = "select file_name ,file_size from receive where id=$id"; $result = mysql_query($sql,$conn); if(!$result) die(" error: mysql query"); //如果沒有指定的記錄,則報錯 $num=mysql_num_rows($result); if($num //下面兩句程式也可以這麼寫 //$row=mysql_fetch_object($result); //$name=$row->name; //$size=$row->size; $name = mysql_result($result,0,"file_name"); $size = mysql_result($result,0,"file_size"); mysql_close($conn); echo " 上傳的檔案的資訊:"; echo " the file's name - $name"; echo " the file's size - $size"; echo " 附件"; ?> 3、submit.php
$myfile=$_files["myfile"]; //設定超時限制時間,預設時間為 30秒,設定為0時為不限時 $time_limit=60; set_time_limit($time_limit); // //把文件內容讀到字串中 $fp=fopen($myfile['tmp_name'], "rb"); if(!$fp) die("file open error"); $file_data = addslashes(fread($fp, filesize($myfile['tmp_name']))); fclose($fp); unlink($myfile['tmp_name']); //檔案格式,名字,大小 $file_type=$myfile["type"]; $file_name=$myfile["name"]; $file_size=$myfile["size"]; die($file_type); //連接資料庫,把檔案存到資料庫中 $conn=mysql_connect("localhost","root","admin"); if(!$conn) die("error : mysql connect failed"); mysql_select_db("nokiapaymentplat",$conn); $sql="insert into receive (file_data,file_type,file_name,file_size) values ('$file_data','$file_type','$file_name',$file_size)"; $result=mysql_query($sql,$conn); //下面這句取出了剛才的insert語句的id $id=mysql_insert_id(); mysql_close($conn); set_time_limit(30); //恢復預設逾時設定 echo "上傳成功--- "; echo "顯示上傳檔案資訊"; } else { echo "你沒有上傳任何檔案"; } ?> 4、upload.php |

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。
