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

使用FTP上传PNG图片失败,请求协助排查问题

问题分析与解决

核心问题

你忽略了PHP上传文件的存储逻辑:$_FILES['srcfile']['name']只是客户端上传时的原文件名,并非服务器上该文件的实际存储路径。服务器接收上传文件后,会将其临时存放在系统临时目录中,文件的实际访问路径是$_FILES['srcfile']['tmp_name'],用原文件名去读取自然会提示找不到文件。

修正后的代码

将本地文件路径替换为临时文件路径即可解决问题:

$remote_dir = 'test/';
// 改用服务器上的临时文件路径
$src_file = $_FILES['srcfile']['tmp_name'];
// 远程文件名保留客户端原名称
$remote_file_name = $_FILES['srcfile']['name'];
$remote_file_path = $remote_dir . $remote_file_name;

// 先检查上传是否有基础错误
if ($_FILES['srcfile']['error'] !== UPLOAD_ERR_OK) {
    echo '上传过程出错,错误码:' . $_FILES['srcfile']['error'];
    exit;
}

if (ftp_put($ftpcon, $remote_file_path, $src_file, FTP_BINARY))
    echo 'File uploaded successfully';
else
    echo 'Error uploading file!';

额外提示

  • 上传完成后,PHP会自动清理临时文件,无需手动删除;如果需要保留本地副本,需提前用copy()将临时文件复制到指定目录。
  • 务必先检查$_FILES['srcfile']['error'],排除文件大小超限、上传中断等基础上传错误。

内容的提问来源于stack exchange,提问作者Kavin-K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:45:44