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

Python向PHP上传文件失败,提示“No file uploaded”问题求助

问题分析与解决

核心原因

你在Python代码里手动设置了headers = {'Content-Type': 'multipart/form-data'},这直接导致PHP无法正确解析上传的文件。

当使用requests.post()传递files参数时,requests会自动生成带正确boundary标识的multipart/form-data请求头。手动指定这个头会覆盖自动生成的内容,而缺失boundary的情况下,PHP无法识别请求中的文件字段,所以$_FILES["file"]为空,输出“No file uploaded”。

修复后的Python代码

import requests

url = 'http://localhost:80/project/php/files.php'
file_path = 'C:\\wamp64\\www\\project\\python\\New folder\\directory_listing.txt'

with open(file_path, 'rb') as file:
    files = {'file': file}
    # 移除手动添加的Content-Type请求头
    response = requests.post(url, files=files)

print(response.text)

额外验证项

  • 确认PHP端的files_list/目录存在,且服务器进程对该目录有写入权限(可临时用chmod 755 files_list/测试)。
  • 如果上传的文件较大,检查PHP配置中的upload_max_filesize和post_max_size值,确保大于文件大小。
  • 查看WAMP的错误日志(路径一般为wamp64/logs/),排查是否有上传相关的服务器端错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 01:03:25