我正在尝试创建一个upload.php,它只将PDF,DOC和DOCX上传到数据库(路径)和我服务器上的文件。现在我上传到该文件是有效的,但我真的不知道如何将链接(路径)上传到我的表行。
此外,我上传的文件必须能够通过点击详细信息页面上的按钮进行下载。
我的upload.php
<?php
$servername = "localhost";
$username = "root";
$password = "usbw";
$dbname = "persons";
// CREATE A CONNECTION WITH THE DATABASE
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if ($_FILES["cv"]["error"] > 0)
{
echo "<font size = '5'><font color=\"#e31919\">Error: NO CHOSEN FILE <br />";
echo"<p><font size = '5'><font color=\"#e31919\">INSERT TO DATABASE FAILED";
}
else
{
move_uploaded_file($_FILES["cv"]["tmp_name"],"files/" . $_FILES["cv"]["name"]);
echo"<font size = '5'><font color=\"#0CF44A\">SAVED<br>";
$file="files/".$_FILES["cv"]["name"];
$sql="INSERT INTO person (person_cv, path) VALUES ('','$file')";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
echo "<font size = '5'><font color=\"#0CF44A\">SAVED TO DATABASE";
}
mysql_close();
?>
数据库名称称为“人员”,其中有一个名为person的表。文件链接应保存到person_cv。我是PHP的新手,我正在尝试理解PHP,但是有很多方法可以做到这一点因为我感到困惑。
答案 0 :(得分:1)
我也对数据库结构感到困惑,正如我所见。
我不知道您真正希望在数据库中保留哪些数据,但您需要遵循:
people_id
),例如,您将拥有该表
id
name
和surname
cv_file_id
file_id
(值必须与cv_file_id
中的值相同)name
(可能是上传前的文件名称,或者更改为更好的操作)type
(主要通过扩展名来定义,例如doc,docx,txt等)在域名文件夹中,您将拥有一个,您将保留所有上传的cv文件。然后,您将根据需要更新数据库表 - 并上传这些文件。
这是最合理的方法。我会这样做。可能是有经验的人会以其他方式做到这一点。