我是一名PHP初学者,我正尝试将PDF上传到我的MySQL数据库。我试图添加一些代码,使其兼容pdf,但它没有工作,所以我删除它,我有PHP脚本,可以上传.txt,word文档,图像等,但不是PDF。你建议我应该添加什么,所以它适用于PDF。这是我的脚本。我无法上传PDF到我的mysql数据库
<html>
<head></head>
<body>
<form method="post" enctype="multipart/form-data">
<table width="350" border="0" cellpadding="1"
cellspacing="1" class="box">
<tr>
<td>Select a file to upload</td>
</tr>
<tr>
<td>
<input type="hidden" name="MAX_FILE_SIZE"
value="16000000">
<input name="userfile" type="file" id="userfile">
</td>
</tr>
<tr>
<td width="80"><input name="upload"
type="submit" class="box" id="upload" value=" Upload "></td>
</tr>
</table>
</form>
</body>
</html>
<?php
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fileType=(get_magic_quotes_gpc()==0 ? mysql_real_escape_string(
$_FILES['userfile']['type']) : mysql_real_escape_string(
stripslashes ($_FILES['userfile'])));
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
$con = mysql_connect('localhost', 'root', '') or die(mysql_error());
$db = mysql_select_db('test', $con);
if($db){
$query = "INSERT INTO upload (name, size, type, content) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
mysql_query($query) or die('Error, query failed');
mysql_close();
echo "<br>File $fileName uploaded<br>";
}else { echo "file upload failed"; }
}
?>
你在哪里检查文件类型?我没有看到你的代码。 – putvande
什么字段类型是您的“内容”列?文本?它可能不足以存储整个pdf内容(TEXT只能包含65,535字节的数据)。你为什么不把文件上传到服务器并在数据库中保存它的路径? – davey
为什么你想要在数据库中的文件?为什么不正常上传到一个正常的目录,并将路径存储在数据库中,这是一个错误,我也在我的早期编程年 – Lappies