我想將網站用戶上傳的文件保存到我的數據庫中。我已經做了使用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