新聞中心
php上傳ftp空間的數(shù)據(jù)庫文件路徑
根目錄,自己在數(shù)據(jù)庫導(dǎo)出一個(gè)sql文件夾,把自己的數(shù)據(jù)庫導(dǎo)出。
平遙網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,平遙網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為平遙1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的平遙做網(wǎng)站的公司定做!
導(dǎo)入就在phpmyadmin里有個(gè)導(dǎo)入,然后就選sql文件就行。
php中文件上傳或下載問題,文件放在指定目錄,此時(shí)在數(shù)據(jù)庫中存放文件路徑還是文件名好一點(diǎn),請說明原因
你這個(gè)指定目錄,通常是寫在程序配置里,
建議存儲(chǔ)數(shù)據(jù)庫使用文件路徑,
因?yàn)楹髞砣撕芸赡軙?huì)因?yàn)楦鞣N原因修改配置,或者因?yàn)檫@個(gè)目錄下空間不足等原因,需要修改配置,如果只存放文件名,那么要改動(dòng)程序,以支持2套目錄
當(dāng)然,只存文件名也有好處,就是方便目錄遷移,此時(shí)只修改配置就ok,程序和數(shù)據(jù)庫都不用動(dòng),
但是目錄遷移,也只需要update一下數(shù)據(jù)庫里的數(shù)據(jù)就ok了
請教php上傳文件可以實(shí)現(xiàn)將文件的路徑上傳到數(shù)據(jù)庫中嗎?怎么實(shí)現(xiàn)?
?php
if ($_FILES["file"]["error"] 0)
{
echo "錯(cuò)誤: " . $_FILES["file"]["error"] . "br /";
}
else
{
echo "存儲(chǔ)位置: " . $_FILES["file"]["tmp_name"];
}
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " 文件已經(jīng)存在. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]); //這句是把 上傳在 tmp中的文件移動(dòng)到你指定的地方
//"upload/" . $_FILES["file"]["name"]);也就是你想要把這個(gè)路徑存到數(shù)據(jù)庫中
// 可以用 getcwd()來獲得當(dāng)前文件夾的路徑,全加進(jìn)來的話,存入MYSQL要
//經(jīng)過轉(zhuǎn)特殊字符轉(zhuǎn)換。否則像 \ 這樣的字符會(huì)不見了。
echo "文件已經(jīng)被存儲(chǔ)到: " . "upload/" . $_FILES["file"]["name"];
$pt=getcwd(). "/upload/" . $_FILES["file"]["name"]; // 這里就是你設(shè)置傳入數(shù)據(jù)庫的路徑
mysql_connect("localhost","root","root") or die ("不能連到MYSQL");
mysql_select_db("book") or die ("不能連到數(shù)據(jù)庫"); //這里假設(shè)是在 book 里的d 表只有一
//項(xiàng),實(shí)際情況你自己改SQL語句啊
$sql="insert into d values(
'$pt' );";
mysql_query($sql);
}
?
關(guān)鍵應(yīng)該是把上傳文件從默認(rèn)的 windows/temp 中移動(dòng)到你指定的文件夾中
php實(shí)現(xiàn)文件上傳到指定文件夾,文件路徑或名字存入數(shù)據(jù)庫,如何實(shí)現(xiàn)啊?
define(UPLOAD_ROOT,'你的上傳文件夾路徑');
function fake_random_name($string,$key){
#偽代碼 隨便根據(jù)用戶名和上傳時(shí)間生成一個(gè)偽隨機(jī)的文件名作為上傳以后的用戶名
#但解碼的條件是可以根據(jù)文件名判斷出文件所有者的用戶名和上傳時(shí)間
#需要從數(shù)據(jù)庫取出用戶的密匙 才能進(jìn)行解密 密匙是用戶名的前5個(gè)字符
#具體加密解密的代碼實(shí)現(xiàn) 請參照PHP標(biāo)準(zhǔn)擴(kuò)展庫 Mcrypt擴(kuò)展下的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'];
/*
* 這個(gè)方法會(huì)自動(dòng)調(diào)用is_upload_file()方法 檢測是否是合法的http rfc1867協(xié)議上傳的文件
* 當(dāng)然了 你也可以限制是否是你需要的合法文件類型 $_FILE[$_POST[name]][type] 比如是否是pdf img文件 都可以
*/
$dbh = new mysqli('localhost','root','sa','your_db_name');#生成中可以include進(jìn)來 DSN放到根目錄以外去 保護(hù)連接文件
$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ù)庫文件細(xì)節(jié)(加密)";
}
網(wǎng)站欄目:php數(shù)據(jù)庫文件上傳路徑 php上傳指定路徑文件
轉(zhuǎn)載注明:http://fisionsoft.com.cn/article/dodppjo.html