php - 保存前获取用户上传的文件内容

标签 php file upload save

<分区>

看,我为我网站的用户提供了将他们自己的 PHP/HTML/TXT 文件上传到我的服务器的可能性,对吗?...但是我想获取该文件内容而不将其保存在我的服务器中并保存将内容转化为字符串或其他内容。

有可能这样做吗?...如果没有,在我的服务器中保存文件后我应该怎么做才能获取内容?...请帮帮我!

我不知道这是否有帮助,但这是我用来上传用户文件的代码。

$allowedExts = array("php", "html", "txt");
$tmp = explode(".", $_FILES["file"]["name"]);
$extension = end($tmp);

if 
((($_FILES["file"]["type"] == "application/octet-stream") 
|| ($_FILES["file"]["type"] == "text/php") 
|| ($_FILES["file"]["type"] == "text/html") 
|| ($_FILES["file"]["type"] == "text/plain")) 
&& ($_FILES["file"]["size"] < 50000) && in_array($extension, $allowedExts))
{
    if ($_FILES["file"]["error"] > 0)
    {
        echo "Error: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
        echo "Upload: " . $_FILES["file"]["name"] . "<br>";
        echo "Type: " . $_FILES["file"]["type"] . "<br>";
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
        echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
}
else
{
    echo "Invalid file";
}

最佳答案

使用file_get_contents()为此:

echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];

// store file content as a string in $str
$str = file_get_contents($_FILES["file"]["tmp_name"]);

请注意,如果您也需要该文件供以后使用,则必须另外将其复制到目标位置。像这样:

 move_uploaded_file($_FILES["file"]["tmp_name"], 'contents/' . $_FILE['name']);

关于php - 保存前获取用户上传的文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16888722/

相关文章:

php - mysql insert into if not exists 从单独的表

php - 如何使用 SOAP UI 为 SOAP 生成客户端 PHP 代码?

Sharepoint Web部件上传文件而不使用 "runat server"

java - 如何用java编写文件搜索程序?

bash - 通过 (*) 星号将文件添加到 for 循环中的变量

javascript - 如何将上传文件的 URL 获取到脚本中

php - 如何获取刚刚上传的 Youtube 电影的视频 ID

php - cakePHP isAuthorized 不工作

php - 如何查询 SELECT name FROM movie WHERE Category LIKE :search - with adding some string before and after SEARCH

c# - 如何避免在 SaveFileDialog C# 中进行文件名验证