我想将网站用户上传的文件保存到我的数据库中。我已经做了使用longblob(二进制),但我有兴趣保存上传文件的路径,而不是。使用PHP在SQL数据库中存储文件的路径
这是我的代码,我应该执行哪些修改?
<?php require_once('Connections/databasestudents.php'); ?>
<?php
$fileName = $_FILES['file']['name'];
$tmpName = $_FILES['file']['tmp_name'];
$fileSize = $_FILES['file']['size'];
$fileType = $_FILES['file']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
$studentId = $_POST['studentId'];
fclose($fp);
$query = "INSERT INTO file (studentId, fileName, fileType, fileContent) ".
"VALUES ('$studentId', '$fileName', '$fileType', '$content')";
mysql_select_db($database_databasestudents, $databasestudents);
mysql_query($query) or die('Error, query failed');
header("Location: students.php");
die();
?>
谢谢,所以在数据库中,我发现新的上传文件在正确的ID下。文件名被正确保存。但是文件内容是空的,文件类型被填充(image/png)。 此外,当我尝试检索(下载)上传的文件时,它显示文件已损坏。似乎有什么错误的上传过程..任何想法为什么? – HaneenSu
'if($ _ FILES)'后面插入'var_dump($ _ FILES);'。这将返回一个数组,其中包含文件数据,文件大小,错误等.'type'是您上传文件的MIME类型,因此image/png – ilpaijin
,但文件内容为零..?我应该为数据库中的文件路径创建一个新字段吗?我看不到存储的任何路径。 对不起,但我是PHP和SQL的新手 – HaneenSu