我正在尝试使用 php 将文件上传到我的服务器,以将它们以二进制形式保存到我的 mysql 数据库中,但我无法让它工作,这是我正在使用的脚本,我相信它与“$_FILES”有关" 因为当我把它取出 "&& $_FILES['userfile']['size'] > 0" 时,脚本开始运行,但是下面使用 "$_FILES" 的变量没有定义。
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'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
db_connect();
db_select();
$query = "INSERT INTO upload (name, size, type, content ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
mysql_query($query) or die('Error, query failed');
db_disconnect();
echo "<br>File $fileName uploaded<br>";
}