2017-09-30 14 views
-1

アップロードされたファイルのファイルパスを表示するには、この例がw3schoolにあります。jsからphpへのファイルアップロードの選択を読み込む方法は?

phpを使用してファイルパスを選択する必要があります。そして私は「提出」したいjavascript関数

私は方法「ポスト」と「形」を追加し、JavaScriptの値ではなく、ノー結果を読み取ろうとするボタンを提出しました

「それを試してみてください」ボタンコールは同じを取得しますデータを「試してみる」ボタン

<!DOCTYPE html> 
    <html> 
    <body> 
    <form action="" method = "post" enctype="multipart/form-data"> 
    Select a file to upload: 
    <input type="file" id="myFile" size="50"> 
    <p>Click the button below do the display the file path of the file upload button above (you must select a file first).</p> 
    <button type="button" onclick="myFunction()">Try it</button> 
    <p id="demo" name="demo" type="text"></p> 
    <input type="submit" name="submit" value="Submit" /> 
    </form> 

    <script type="text/javascript"> 
    function myFunction() { 
     var x = document.getElementById("myFile").value; 
     document.getElementById("demo").innerHTML = x; 
    } 
    </script> 
    </body> 
    </html> 

    <?php 
    if(isset($_POST["submit"])) 
    { 
     $loc = $_GET["demo"]; 
     echo $loc; 
    } 
    ?> 
+1

期待どおりの結果ですか? – guest271314

+0

申し訳ありませんが、投稿を編集して詳細を説明しました –

+0

なぜ '$ _GET [" demo "]'を使用しますか? – guest271314

答えて

0

あなたは、同じデータをPHPで取得したいとします。 submitをクリックした後、$ _FILESというスーパーグローバル配列を読み込みます。 $ _FILES配列には、ファイル名、ファイルタイプ(MIMEタイプ)、tmp_name(アップロードされたファイルを含むサーバー上の一時ファイルへのパス)、エラーおよびサイズなど、アップロードされるファイルに関する情報が含まれます。

<!DOCTYPE html> 
    <html> 
    <body> 
    <form action="" method = "post" enctype="multipart/form-data"> 
    Select a file to upload: 
    <input type="file" id="myFile" name="myFile" size="50"> 
    <br /> 
    <p>Click the button below do the display the file path of the file upload button above (you must select a file first).</p> 
    <button type="button" onclick="myFunction()">Try it</button> 
    <p id="demo" name="demo" type="text"></p> 
    <br /> 
    <input type="submit" name="submit" value="Submit" /> 
    </form> 

    <script type="text/javascript"> 
    function myFunction() { 
     var x = document.getElementById("myFile").value; 
     document.getElementById("demo").innerHTML = x; 
    } 
    </script> 
    </body> 
    </html> 

    <?php 
    if(isset($_POST["submit"])) 
    { 
     echo '<pre>'; 
     var_dump($_FILES); 
     echo '</pre>'; 
     echo '<br />'; 

     echo 'C:\\fakepath\\' . $_FILES['myFile']['name']; 

    } 
    ?> 
+0

ありがとう、それは動作しますが、まだ問題があります:C:\ fakepath \の代わりに実際のパスを取得する方法? –

+0

$ _FILES ['myFile'] ['tmp_name']は、 '実在のパス'という言葉ですべて得られます。これはアップロードされた ファイルを含むサーバー上の一時ファイルへの完全なパスです。 (アップロードされたファイルは必要になるまで一時ファイルとして保存されます) – lovelace

+0

ありがとう私の友人 –

関連する問題