define(UPLOAD_ROOT,'你的上傳文件夾路徑');

作為一家“創(chuàng)意+整合+營銷”的成都網(wǎng)站建設(shè)機構(gòu),我們在業(yè)內(nèi)良好的客戶口碑。創(chuàng)新互聯(lián)提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、創(chuàng)意表現(xiàn)、網(wǎng)頁制作、系統(tǒng)開發(fā)以及后續(xù)網(wǎng)站營銷運營等一系列服務,幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營模式與有效的網(wǎng)絡營銷方法,創(chuàng)造更大的價值。
function fake_random_name($string,$key){
#偽代碼 隨便根據(jù)用戶名和上傳時間生成一個偽隨機的文件名作為上傳以后的用戶名
#但解碼的條件是可以根據(jù)文件名判斷出文件所有者的用戶名和上傳時間
#需要從數(shù)據(jù)庫取出用戶的密匙 才能進行解密 密匙是用戶名的前5個字符
#具體加密解密的代碼實現(xiàn) 請參照PHP標準擴展庫 Mcrypt擴展下的N種方法
return $fake_random_name;
}
if(!is_writbale(UPLOAD_ROOT)){
die('you need chown the dir for your uploading file,make it writable~');
}else{
move_uploaded_file($_FILES['POST過來的表單名']['tmp_name'];
/*
* 這個方法會自動調(diào)用is_upload_file()方法 檢測是否是合法的http rfc1867協(xié)議上傳的文件
* 當然了 你也可以限制是否是你需要的合法文件類型 $_FILE[$_POST[name]][type] 比如是否是pdf img文件 都可以
*/
$dbh = new mysqli('localhost','root','sa','your_db_name');#生成中可以include進來 DSN放到根目錄以外去 保護連接文件
$sec_key = substr($_SESSION['loginname'],0,5);
#密匙
$file_name = fake_random_name($_FILES['POST過來的表單名']['tmp_name'],$sec_key);
#加密后的名字
$q_str = "insert into tb(owner,location)values($_SEESION['loginname'],UPLOAD_ROOT.DIRECTORYSLASH.$file_name))";/SQL
$dbh-query($q_str);
if($dbh-num_rows()==1) echo "上傳成功,已經(jīng)插入數(shù)據(jù)庫文件細節(jié)(加密)";
}
當你問到這個問題的時候,其實我是不想回答的
你應該是個小白,因為 “文件地址”這個其實就是一個URL,就是一個字符串。把“
文件地址上傳到數(shù)據(jù)庫”,其實就是把一個字符串插入到相應的表。如果你有基礎(chǔ),文件都上傳了獲取到路徑了,就等插入數(shù)據(jù)庫,根本不會來問這個問題。如果你沒基礎(chǔ),那不是我在這里三言兩語甚至長篇大論能教會你的。
我只能大概說一下思路:
1、首先,建表,數(shù)據(jù)庫新建一個表來存放這個文件地址
2、鏈接這個數(shù)據(jù)庫
3、把這個“文件地址”,插到數(shù)據(jù)庫里面
完了!
最簡單的php語句把數(shù)據(jù)庫*.sql文件導入數(shù)據(jù)庫
復制代碼
代碼如下:
$sql=file_get_contents("text.sql");
//把SQL語句以字符串讀入$sql
$a=explode(";",$sql);
//用explode()函數(shù)把$sql字符串以“;”分割為數(shù)組
foreach($a
as
$b){
//遍歷數(shù)組
$c=$b.";";
//分割后是沒有“;”的,因為SQL語句以“;”結(jié)束,所以在執(zhí)行SQL前把它加上
mysql_query($c);
//執(zhí)行SQL語句
}
在很多安裝程序中大家都會看到數(shù)據(jù)庫的安裝,其它神秘的背后就是這么簡單的幾句代碼。首先安裝中會有一個Sql文件,然后再按照上面的代碼在PHP中執(zhí)行。
其實sql文件,就是一些sql語句
填寫好數(shù)據(jù)庫相關(guān)操作后,點擊下一步,首先將數(shù)據(jù)庫連接起來
12mysql_connect(..............)//等等這些數(shù)據(jù)庫連接代碼
數(shù)據(jù)庫連接后,開始讀取sql文件
1234567$Sqls = file_get_contents( '你的sql文件' );//然后把讀取到的sql文件內(nèi)容打散成數(shù)組,當然,這個文件要有規(guī)律,就是每條sql語句有一個特定的分隔符,比如分號;$SqlArr = explode(';', $Sqls );//最后就是循環(huán)遍歷出這些sql語句并執(zhí)行,即可foreach ( $SqlArr as $sql ) { mysql_query( $Sql );}
上面只是一個大致思路原理,
具體的話,還是要根據(jù)具體情況來弄的!
特別是那個sql文件中的內(nèi)容,一定要有一定的規(guī)律,并且一些不必要的東西不能有,
比如注釋(很多人從phpmyadmin導出的sql文件,都會帶上注釋,
而注釋是不符合sql語句規(guī)范的,會執(zhí)行出錯,
所以導出后,自己根據(jù)情況修改一下!)
一、php配置MySQL
1、將php安裝目錄下的php_mysql.dll和MySQL安裝目錄下的libmysql.dll文件拷貝至c:/windows/system32中;
2、配置php.ini
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
把上面四個。dll的最前面的;去掉
二、php表單提交至數(shù)據(jù)庫的實現(xiàn)過程
1、login.php頁面
SPAN style="FONT-SIZE: 14px"html
FORM method=post action=add.php
Name: INPUT name=usernameBR
Email: INPUT name=emailBR
INPUT value=提交 type=submit name=submit
/FORM
/SPAN
2、add.php頁面
SPAN style="FONT-SIZE: 14px"?php
include("conn.php");
?
?php
if(isset($_POST["submit"]))
{
$sql = "insert into users(username, email) values('$_POST[username]', '$_POST[email]')";
mysqli_query($conn, $sql);
echo "添加成功";
}
?/SPAN
3、conn.php頁面
SPAN style="FONT-SIZE: 14px"?php
$conn = new mysqli("localhost", "root", "159357");
$conn-select_db("db_test");
//mysql_query("set name 'gb2312'");
$conn-set_charset("utf8");
?/SPAN
需要PHP基礎(chǔ)知識和數(shù)據(jù)庫基礎(chǔ)知識。
以SQL為例。使用PHP MySQL 函數(shù)可以編輯數(shù)據(jù)庫。
mysql_connect() 函數(shù)打開MySQL 連接。舉例
?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}// 一些代碼...mysql_close($con);
?
mysql_connect()三個參數(shù)分別是服務器名,連接賬號,連接密碼。
連接之后,可以使用mysql_select_db()設(shè)置要處理的數(shù)據(jù)庫,后面則是用數(shù)據(jù)庫語句處理數(shù)據(jù)。SQL語法簡介網(wǎng)頁鏈接
本文題目:php傳遞文件到數(shù)據(jù)庫,php數(shù)據(jù)庫連接文件
URL鏈接:http://chinadenli.net/article12/hshgdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、網(wǎng)站策劃、網(wǎng)站導航、做網(wǎng)站、面包屑導航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)