我有两个PHP页面adp3.php(表单页面)和adp4.php(上传内容数据库)如何使用php存储数据库中的文件路径?
adp3.php:
SUBJECT:
$query="SELECT * FROM subject WHERE SyllabusID=".$batch1." and SemID=".$sems."";
$result=mysqli_query($con, $query);
//loop
foreach($result as $subject){
?>
"><?php echo $subject['SubjectName']; ?>
}
?>
DATE:
MAY/JUNE
NOV/DEC
YEAR:
PAPER LINK:
GO
adp4:
$date =$_POST['date'];
$year=$_POST['year'];
$file=$_FILES['file'];
if($date && $year)
{ mysql_connect("localhost","root","") or die("we couldnt connect");
mysql_select_db("dbmsproj");
$result=mysql_query("INSERT INTO paper(SubjectID,Date,Dlink) values('$subid','$date $year','$file')");
?>
}
else
{?>
}
?>
除了文件路径之外,一切都正确进入DB(显示文件路径字段中的“数组”)..请帮助
更新:(问题已解决)谢谢你们帮助我。我的代码终于工作了。你们是最好的
+0
你必须manualy使用'move_uploaded_file(把你的文件到您的目录)'然后插入路径数据库字段 –
+0
我不会存放的路径,只有文件名。路径可能会发生变化,如果您在某个时间点发生移动,则不会希望更新所有这些记录。 (或使用符号链接,yuck)例如,在我的工作中,我们在数据库中存储了90,000个pdf,我们在过去的4年中已经跨3个服务器迁移。 (和一个域名) –
+0
我推荐的另一件事是使用散列重命名文件。 (如sha1),然后用时间戳和散列'time()。hash()。pdf'将它保存到文件系统中然后将用户的文件名(原始名称)保存在数据库中(这样就可以伪造它, )。你不会相信废话PPL放在文件名,所有类型的东西,你的URL和什么不起来。我甚至有人把''''或'''放在文件名中,这是坏的mojo。为什么看到https://stackoverflow.com/questions/28504839/how-to-delete-a-file-with-quote-在文件名 –