0

アップロードする前に「tmp_name」を決定します... ?

だから私はこれを見つけました:http://phpjs.org/functions/filesize/ アップロードプロセス中にファイルサイズを確認したいのですが、追跡できるようにアップロードする前に tmp_name を設定する必要があります。

私のコードの例:

<form id="upform" action="'upload.php" method="post" enctype="multipart/form-data" encoding="multipart/form-data" name="upform" target="upFrame" >
  <input id="uploadPic_input" name="uploadPic_input" type="file" value="" onchange="jsFunctionTostartUploadandTrackUpload( 'tmp_name___HERE___' );" />
</form>
<iframe id="upFrame" name="upFrame" frameborder="0" scrolling="auto" ALLOWTRANSPARENCY="true" width="100%" height="450"> </iframe>
<div class="" id="uploadedBytes" > </div>

「tmp_name_ HERE_ 」をtmp_name に置き換えたいのは、フォームが送信されるとファイルがアップロードされ、iframe 内に出力が表示されるためです。

function jsFunctionTostartUploadandTrackUpload( tmp_name___HERE___ )
{
  $("#upform").submit();
  checkUpProgress = window.setInterval(function() { $("#uploadedBytes").html ( filesize ( tmp_name___HERE___ ) ); },3000);
}

私がやろうとしていることを理解していますか?

ini_set などの方法はありますか?

4

2 に答える 2

0

OK、www.domain.com が原因で javascript のファイルサイズ ( tmp_name_ HERE_ ) が機能しない理由がわかります......

しかし、変更はどうでしょうか。(内部サーバー パス .../public_html/tmp/tmp_name_ HERE_ )でチェックする php への ajax 呼び出しは動作しますか?

Javascript :

function jsFunctionTostartUploadandTrackUpload( tmp_name___HERE___ )
{
  $("#upform").submit();

  $.ajax
    ({
        type: "POST",
        url: site_url+'/checkUploadedBytes.php',
        dataType: 'json',
        data:'uploading_file_id='+encodeURIComponent (tmp_name___HERE___),
        cache: false,
        //async: false,
        success: function(data)
        {
            $("#uploadedBytes").html(data.uploadedBytes_message1);
        },
        error: function(data)
        {
            $("#uploadedBytes").html("_Error").css("color","red");
        }
    });

}

PHP:

<?php
$uploadedBytes_message1 = filesize ( $_POST['uploading_file_id']; )
echo json_encode(array("uploadedBytes_message1" => $uploadedBytes_message1) );
?>
于 2013-11-13T14:15:36.523 に答える