
string
strPath
=
@"d:\baidu\up"
string[]
fileNames
=
System.IO.Directory.GetFiles(strPath)
SqlConnection
Cn=new
SqlConnection(这里写你的连接串)
SqlCommand
Cmd=new
SqlCommand("Insert
JpgFiles
values
(@JpgPath)",Cn)
Cmd.Parameters.Add("@JpgPath",SqlDbType.VarChar,50)
foreach
(string
strName
in
fileNames)
{
Cmd.Parameters[0].Value=strName
Cmd.ExecuteNoQuery()
}
define(UPLOAD_ROOT,'你的上传文件夹路径')
function fake_random_name($string,$key){
#伪代码 随便根据用户名和上传时间生成一个伪随机的文件名作为上传以后的用户名
#但解码的条件是可以根据文件名判断出文件所有者的用户名和上传时间
#需要从数据库取出用户的密匙 才能进行解密 密匙是用户名的前5个字符
#具体加密解密的代码实现 请参照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']
/*
* 这个方法会自动调用is_upload_file()方法 检测是否是合法的http rfc1867协议上传的文件
* 当然了 你也可以限制是否是你需要的合法文件类型 $_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 "上传成功,已经插入数据库文件细节(加密)"
}
很简单,用控件实现上传功能第一步:用FileUpload控件获取图片,下面是保存代码
FileUpload1.SaveAs(“D:\\hosting\\wwwroot\\web\\Uploads\\"
+
FileUpload1.FileName)
解析:D:\\hosting\\wwwroot\\web\\Uploads\\是你想要保存到的文件夹路径,FileUpload1.FileName是图片的名称!
第二步:保存路径到数据库
img_url
=
"../Uploads/"
+
FileUpload1.FileName
把这个img_url变量保存到你的数据库指定字段就可以了!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)