2017-03-11 8 views
0

私はphpでユーザーが指定した構造(ファイルタイプはcvsまたはExcelシートでも可)でファイルをアップロードできるようにしています。アプリケーションはファイルからデータを抽出して挿入しますデータベースに格納する。PHPファイルアップロードが動作しない

アプリをアップロードすることができず、2日間試してみましたが、最大アップロードサイズ、最大投稿サイズ、アップロードファイル、一時ディレクトリを/ tmpに設定したphp.iniを確認しました。すべてのユーザーがアクセスできます。

私はphpとhtmlの構文もチェックして、適切なエンコーディングタイプを使用していたことを確認しました。アップロードディレクトリの権限もチェックしましたが、_FILES変数は常に空です。私のウェブサーバーはamazon ec2はUbuntu 14.04 LTSを実行しています。

ここで私が試したコードの一つだと、それは出力です:

<?php 
     echo $_FILES['file']['error']; 
     print_r($_FILES); 
     echo $name = $_FILES['file']['name']; 
?> 

<html> 
<header> 
<title> Test Page</title> 
</header> 
<body> 
<form action="Test.php" method="POST" enctype="multipart/formdata"> 
     <input type="file" name="file" id="file" /><br><br> 
     <input type="submit" value="submit" /> 
</form> 
</body> 
<html> 

と出力されるエコーは、私はファイルをアップロードするかどうかだけアレイ()です。

誰もこれの前に何かに直面した?

+0

'ますprint_r($ _ FILES);'理にかなっている、しかし 'エコー$名= $ _FILES [ 'ファイル'] [ '名前'];' – nogad

+0

はこれを試してみてくださいしない:のenctype =「マルチパート/フォーム - データ"。あなたのコードでは、enctype = "multipart/formdata"です。それはあなたを助けるかもしれません。 –

+0

ありがとうKashish、それは今働く、私はちょうど私が研究を2日間過ごしたと信じられず、このタイプミスを逃した、ありがとうございました。 – JohnSmith1992

答えて

0
<?php 
    if ($_SERVER["REQUEST_METHOD"] == "POST") { 
     session_start(); 

     $file_tmp= $_FILES['image']['tmp_name']; 
     header("Test.php"); 
    } 
?> 

<html> 
    <header> 
    <title> helllllllo </title> 
    </header> 
    <body> 
     <form action="form-validation" method="POST" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" > 

     <div class="form-row form-input-name-row"> 
      <label> 
      <span>Profile Image</span> 
      <input type="file" name="image" id="file" onchange="readURL(this);" data-val="true" style="margin-bottom:10px;" /> 
      <div class="form-row form-input-name-row"> 
       <img id="blah" src="#" alt="your image" style="width: 100px; display: none; margin-bottom:10px;" /> 
      </div> 
     </div> 
     <input type="submit" value="submit" /> 
     </form> 
<script> 

function readURL(input) { 
    if (input.files && input.files[0]) { 
     var reader = new FileReader(); 
     reader.onload = function (e) { 
      $('#blah').show().attr('src', e.target.result); 
     } 
     reader.readAsDataURL(input.files[0]); 
    } 
} 

</script> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
    </body> 
</html> 
関連する問題