PHP上传文件到MySQL数据库
我试图在mysql数据库中上传一个文件,但当我点击“上传”按钮时,我得到了返回的普通PHP代码。我不知道我的问题在哪里。。 这是我的HTML:PHP上传文件到MySQL数据库,php,mysql,file-upload,Php,Mysql,File Upload,我试图在mysql数据库中上传一个文件,但当我点击“上传”按钮时,我得到了返回的普通PHP代码。我不知道我的问题在哪里。。 这是我的HTML: <html> <head> ... </head> <body> <form id="upload" action="./upload.php" method="POST" enctype="multipart/form-data">
<html>
<head>
...
</head>
<body>
<form id="upload" action="./upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
</body>
</html>
...
下面是用于上传的PHP代码:
<? php
if(isset($_POST['upload']) && $_FILES['file']['size'] > 0)
{
$file_name = $_FILES['file']['name'];
$file_size = $_FILES['file']['size'];
$file_tmp = $_FILES['file']['tmp_name'];
$file_type = $_FILES['file']['type'];
$parser = fopen($file_tmp, 'r');
$content = fread($parser, filesize($file_tmp));
$content = addslashes($content);
fclose($parser);
if(!get_magic_quotes_gpc())
{
$file_name = addcslashes($file_name);
}
$user = "root";
$host = "localhost";
$pass = "";
$db = "filemeup";
try
{
$conn = new PDO("mysql:host=$host;dbname=$db;", $user, $pass);
}
catch(PDOException $e)
{
echo "Error: ".$e->getMessage();
exit;
}
$conn->query("SET NAMES utf8");
$query="INSERT INTO files (name, size, type, content)"."VALUES (:name, :size, :type, :content) ";
$stmt = $this->conn->prepare($query);
$stmt->bindParam(':name', $file_name);
$stmt->bindParam(':size', $file_size);
$stmt->bindParam(':type', $file_type);
$stmt->bindParam(':content', $content);
$stmt->execute();
?>
将打开的PHP标记更改为我不知道,但可能是因为PHP标记是,然后它给了我以下错误:解析错误:语法错误,在第43行的C:\xampp\htdocs\filemeup\upload.PHP中出现意外的文件结尾。
首先,这是一个好迹象,这意味着您的代码实际上已经运行。第二,这种错误通常是由于缺少某种类型的结束括号造成的。在这种情况下,您缺少了if(isset($\u POST['upload'])&&$\u FILES['file']['size']>0)
。这是一个多么愚蠢的错误,很抱歉打扰您:(尽管如此,它没有上传到数据库..不用担心。如果您添加一个关于它没有上传的新问题并在这里添加一个链接,我可能会帮助您:)