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

使用WordPress REST API上传部分图片遇403 Forbidden问题求助

通过WordPress REST API上传图片时部分文件返回403错误

我在本地MAMP环境编写了一个简单的PHP脚本,通过WordPress REST API将文件夹中的图片上传至WordPress站点。但不知为何,部分图片返回403错误(Forbidden,服务器拒绝访问该资源),另一部分图片却能正常上传。除了从互联网下载的图片成功率似乎更高外,我找不到能解释这种差异的共性特征。

$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "dbname";

$apiEndpoint = "https://mywebsite.com/?rest_route=/wp/v2/media";

$file = file_get_contents( 'chronometer.png'); // 部分图片可正常使用,部分不行,无论是否在子目录
$url = $apiEndpoint;
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, "https://mywebsite.com/?rest_route=/wp/v2/media" );
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $file );
curl_setopt( $ch, CURLOPT_HTTPHEADER, [
'Content-Disposition: form-data; filename="example.png"',
"Authorization: Basic MYKEY"
] );
$result = curl_exec( $ch );
curl_close( $ch );

我已经为此耗时数小时仍未解决,目前尝试过的方法包括:

  • 检查Apache和PHP配置以确保读写权限正常
  • 修改文件扩展名(如.png与.PNG、.jpg与.JPG等互转)
  • 创建.htaccess文件覆盖可能存在冲突的httpd配置
  • 将项目根目录下所有文件夹、子文件夹及文件设置为所有人可读写(Mac系统)
  • 检查PHP配置中的文件上传限制

文件示例:

  • 可正常上传:Chronometer
  • 无法上传:Scene

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 16:28:26