在数据库中找不到上载的文件

时间:2017-03-06 08:21:48

标签: php mysql

使用此代码,我尝试将文件上传到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); 
   }
   ?>

2 个答案:

答案 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); 
          }
    }
相关问题