使用此代码,我尝试将文件上传到mysql数据库,然后尝试使用其他代码显示它(我不会在此处显示)。我遇到的问题是,虽然执行此脚本,但上传的文件不会显示。
<!DOCTYPE html>
<html lang="en">
<body>
<div class="container" >
<form action="insert.php" method="post" class="form-horizontal" role="form" enctype="multipart/form-data">
<div class="col-sm-offset-3">
<h2>Application Results</h2>
<label for="fileSelect">Please upload your application results here:</label>
<input type="file" name="application_results" ><br>
</div>
</body>
</html>
<?php
if(isset($_POST['submit']))
{
$file = rand(1000,100000)."-".$_FILES['application_results']['name'];
$file_loc = $_FILES['file']['tmp_name'];
$folder="uploads/";
move_uploaded_file($file_loc,$folder.$file);
$sql="INSERT INTO applications(application_results) VALUES('$file')";
mysql_query($sql);
}
?>
答案 0 :(得分:1)
请授予该上传文件夹的权限。最好在数据库插入之前使用if条件。添加if条件将帮助您识别文件是否成功上传。
if(move_uploaded_file($file_loc,$folder.$file)) {
$sql="INSERT INTO applications(application_results) VALUES('$file')";
mysql_query($sql) or die(mysql_error());
}
如果你还没有解决这个问题。请尝试使用tmp名称。
move_uploaded_file($_FILES['application_results']['tmp_name'],$folder.$file)
答案 1 :(得分:0)
试试这个:
if(isset($_POST['submit']))
{
$uploads = $_FILES['application_results'];
$file = rand(1000,100000)."-".$_FILES['application_results']['name'];
$folder = 'uploads/' . $file;
if(move_uploaded_file($uploads['tmp_name'], $folder))
{
$sql="INSERT INTO applications(application_results) VALUES('$file')";
mysql_query($sql);
}
}