2017-03-06 20 views
1

このコードでは、ファイルを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

この '$ savedLoc = $フォルダ$ファイルのようなものを追加します;' 'move_uploaded_fileの前に()'とDBに 'savedLoc'を挿入します。エクステンションもチェックしてください –

答えて

1

そのアップロードフォルダに許可を与えてください。また、データベースを挿入する前に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) 
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); 
      } 
    } 
関連する問題