任何人都可以帮助我,我在上传图片时遇到问题。
PHP
<?php
$msg="";
$db=mysqli_connect("localhost","root","root","man");
if(isset($_POST['submit'])) {
$fileName=$_FILES['uploadfile']['name'];
$fileTmpName=$_FILES['uploadfile']['tmp_name'];
$folder='images/';
move_uploaded_file($fileTmpName,$folder.$fileName);
$sql=mysqli_query($db,"INSERT INTO manimages(image) VALUES ($fileName)");
}
?>
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Uploading Images</title>
</head>
<body>
<form action="" method="POST">
<input type="file" name="uploadfile">
<input type="submit" name="submit" value="upload image">
</form>
</body>
</html>
错误是注意:未定义的索引:第5行的C:\ wamp64 \ www \ ftest \ index.php中的uploadfile和注意:第6行的C:\ wamp64 \ www \ ftest \ index.php中的未定义索引:uploadfile
要允许表单上传文件,您应该指定正确的enctype
属性,默认情况下它是application/x-www-form-urlencoded
,您应该将其更改为multipart/form-data
。
试试这个:
<form action="" method="POST" enctype="multipart/form-data">
现在您可以访问PHP
超全局变量$_FILES
,因此不会抛出未定义的索引错误。
您的form
标记不完整,上传图片应该如下所示:
<form action="" method="post" enctype="multipart/form-data">
请记住,如果您使用的是文件上传控件,则必须将enctype
设置为multipart/form-data