PHP无需保存即可获取文件内容

时间:2014-01-23 15:16:53

标签: php

我有以下PHP代码,当有人上传文件时运行:

        if ($_FILES['files']['error'] === UPLOAD_ERR_OK) {
        die("Upload failed with error " . $_FILES['file']['error']);
    }
    $namme = $_FILES['files']['name'][0];
    $namme = substr($namme, strpos($namme,"."), strlen($namme));
    $ok = false;
    switch ($namme) {
        case '.docx':
        case '.txt':
        case '.pdf':

        break;
        default:
            die("Unknown/not permitted file type");
    }
    $filename = $_FILES['files']['tmp_name'][0];
    $file = _file_get_contents('./'.$_FILES['files']['name'][0], true);

我想要打印所有内容,但我不想先保存文件然后打开它。

我的问题是:是否可以打开文本文件打印内容而不先保存文件?

1 个答案:

答案 0 :(得分:2)

当用户上传文件时,它会保存在临时位置。这就是HTTP服务器的工作方式,在调用PHP脚本之前。如果服务器将所有上传的文件保存在内存中会很糟糕;如果用户上传了十几个全部为10 MB的文件怎么办?

避免这种情况的唯一方法是不使用文件上传(例如,让用户将文件内容粘贴到提交的文本区域中),或编写自己的HTTP服务器而不使用PHP(不是实际解决方案,最有可能)。