簡體   English   中英

上傳前確定“ tmp_name”

[英]Determine “tmp_name” before upload

上傳前確定“ 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替換“ tmp_name_ HERE_ ”,因為提交表單時,它將上傳文件並在iframe中顯示輸出。

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

你知道我在做什么嗎?

有沒有像ini_set之類的方法?

  1. 提供的腳本顯示下載文件的大小。 tmp_name是不可訪問的文件,因此無法從服務器外部測量它的大小。

  2. 從php 5.4開始,您可以跟蹤上傳進度

好的,我明白了為什么www.domain.com會導致javascript中的文件大小(tmp_name_ HERE_ )無法正常工作……

但是修改呢? ajax調用將與(內部服務器路徑... / public_html / tmp / tmp_name_ HERE_ )進行檢查的php會有效嗎?

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) );
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM