1

ファイルバスをjavascriptからphpファイルに渡してファイルのサイズを取得しようとしていますが、結果を返します。問題は、javascriptが次の例としてファイルバスを渡すことです。間違ったパスなので、常に false を返します!!!

 $(document).ready(function (){


        $("#file").click(function (){


            fileBath=$("#name").val();

                $.get('newfile2.php','fileBath='+fileBath,function(data){
                alert(data);

                    });
            });
});

phpファイル

getmax($_GET['fileBath']);

function getmax($fileBath){

    $value=filesize($fileBath);
    echo  $value;

}

ファイルバスが間違っているため、phpファイルの戻り値FALSEと言ったように!!

4

4 に答える 4

4

ファイル入力の目的は、ファイルをアップロードできるようにすることです。訪問者のファイル システムの構造は、Web サイトが必要としない機密情報と見なされます。

訪問者のプライバシーを保護するために存在するため、fakepath 置換をバイパスする方法はありません。

于 2012-07-01T16:20:17.153 に答える
1

HTML5ブラウザの出現により、ユーザーのプライバシーを保護するための厳格なルールが実装され、ファイルの実際のパスを隠すためにfakepathが使用されているため、MAC上でもパスはC:\\fakepath..

したがって、実際のパスではなくファイルの名前のみを検出できます。これを試してください::

var filename = $('#name').val().replace(/C:\\fakepath\\/i, '');
于 2012-07-01T16:33:27.880 に答える
0

php str_replaceまたはpreg_replaceを使用します。これにより、不要なスペースや必要なものが置き換えられ、問題は発生しません。

于 2012-07-01T16:19:46.320 に答える
0

JavaScript ソリューション:

document.getElementById("fileInput").files[0].name;

jQuery ソリューション:

$("#fileInput")[0].files[0].name;
于 2015-05-27T09:12:37.863 に答える