在上传过程中获取临时文件名


Get temporary file name during uploading

如何在上传过程中获取临时文件名?(上传后给出的tmp_name参数)。我尝试使用会话上传进度,进度正常,但tmp_name的字段始终为空。

您可以使用 APC 并为此启用 rfc1867 设置apc.rfc1867

本网站解释了如何做到这一点:

<form method="post" action="upload.php" enctype="multipart/form-data">
    <div>
        <input type="hidden" name="APC_UPLOAD_PROGRESS" value="1234" />
        <!--                       ###################              -->
        <input type="file" name="myFile" />
        <input type="submit" value="Upload file..." />
    </div>
</form>

注意:在文件输入之前,表单APC_UPLOAD_PROGRESS元素必须出现在表单中。

它将为您提供所需的信息:

print_r(apc_fetch("upload_$_POST[APC_UPLOAD_PROGRESS]"));
                                 ###################
Array
(
    [total] => 1142543
    [current] => 1142543
    [rate] => 1828068.8
    [filename] => test
    [name] => file
    [temp_filename] => /tmp/php8F
    [cancel_upload] => 0
    [done] => 1
)