
正文
php上传文件数据库中,php中实现文件上传的函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php实现文件上传到指定文件夹,文件路径或名字存入数据库,如何实现啊?
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 "上传成功,已经插入数据库文件细节(加密)";
}
相关问答
Q1: 请教php上传文件可以实现将文件的路径上传到数据库中吗?怎么实现?
?php
if ($_FILES["file"]["error"] 0)
{
echo "错误: " . $_FILES["file"]["error"] . "br /";
}
else
{
echo "存储位置: " . $_FILES["file"]["tmp_name"];
}
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " 文件已经存在. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]); //这句是把 上传在 tmp中的文件移动到你指定的地方
//"upload/" . $_FILES["file"]["name"]);也就是你想要把这个路径存到数据库中
// 可以用 getcwd()来获得当前文件夹的路径,全加进来的话,存入MYSQL要
//经过转特殊字符转换。否则像 \ 这样的字符会不见了。
echo "文件已经被存储到: " . "upload/" . $_FILES["file"]["name"];
$pt=getcwd(). "/upload/" . $_FILES["file"]["name"]; // 这里就是你设置传入数据库的路径
mysql_connect("localhost","root","root") or die ("不能连到MYSQL");
mysql_select_db("book") or die ("不能连到数据库"); //这里假设是在 book 里的d 表只有一
//项,实际情况你自己改SQL语句啊
$sql="insert into d values(
'$pt' );";
mysql_query($sql);
}
?
关键应该是把上传文件从默认的 windows/temp 中移动到你指定的文件夹中
Q2: php怎样上传文件并把上传后文件地址保存到access数据库
FTP上传先设置好你的FTP,必须和你空间商的FTP名一样打开后,出现界面如: 选择菜单上的“站点”-“站点管理器”,如下图: 点击“新建站点”按钮,在新出的窗口输入网站名称,比如输入“我的网站”,点击确定,如下图: 建立新站点后,如上图,下一步需要做的是输入“IP地址”、“用户名称”、“密码”,其他设置不需要填写,见下图,然后点击“连接”按钮。 IP地址、用户名称、密码正确的话,就可以连接到你的网站空间了,参考如下图: 以上图片,左侧是你电脑上的文件、右边是网站空间上的内容。如果你想把某文件夹上传到空间上,只需在文件夹右键点击,然后“发送”即可。至于保存到access数据库,需要到你空间里设置的
Q3: php怎么把文件地址上传到数据库
当你问到这个问题的时候,其实我是不想回答的
你应该是个小白,因为 “文件地址”这个其实就是一个URL,就是一个字符串。把“
文件地址上传到数据库”,其实就是把一个字符串插入到相应的表。如果你有基础,文件都上传了获取到路径了,就等插入数据库,根本不会来问这个问题。如果你没基础,那不是我在这里三言两语甚至长篇大论能教会你的。
我只能大概说一下思路:
1、首先,建表,数据库新建一个表来存放这个文件地址
2、链接这个数据库
3、把这个“文件地址”,插到数据库里面
完了!
Q4: php 架构的网站 数据库文件(*.sql) 怎样上传到服务器
如果您要将自己的数据库导入服务器,
1.
可以点击下面的“建立备份”一。
2.
点击建立“备份用FTP”。
3.
用FTP将您自己的数据库备份文件上传到服务器上,覆盖服务器上的1.bak(SQL
2000)/1.sql(Mysql)。
4.
再点从备份一中的“备份中还原。”
5.
如果导入过程中发生意外,需要重新导入,您要先点清空数据库。
(在备份还原前,请您先停止您的网站一分钟后再操作,否则数据库正在使用中会造成操作失败。)
还不清楚的话,你访问下这个网址:
Q5: php中上传word到数据库中
楼上的.... 唉
你不需要将文件保存在数据库中 你可以把文件上传到一个目录下面 存入数据库的只是文件路径就行了 在调用这个文件时只需从数据库中调用文件地址 就可以 了







