You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP使用php://input接收上传文件时如何过滤空或小于1字节的无效文件

解决方案

你可以先读取输入流内容做长度校验,符合要求再写入文件,修改后代码如下:

<?php
$vist_page     =   "post2.php";
include "logger.php";
// 读取输入流内容
$input_data = file_get_contents("php://input");
// 校验:读取成功且内容长度≥1字节才写入文件
if ($input_data !== false && strlen($input_data) >= 1) {
    file_put_contents("outputfile.txt".uniqid(), $input_data);
}
?>

逻辑说明

  • 原代码直接将输入流读取结果传入写入方法,无论内容是否为空都会生成对应文件,是产生空文件的核心原因
  • 新增的校验逻辑先将输入流内容存入变量,先判断读取操作是否成功,再判断内容字节长度,两个条件都满足才执行写入,空内容会直接跳过,不会生成无效文件

内容的提问来源于stack exchange,提问作者Thomas g

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:24:04