#独家
typecho如何使用php实现上传附件的功能?

2023-07-14 0 3,525

我已经使用$security->getIndex(‘/action/upload’)得到上传接口了,想使用curl将图片上传到附件

$picUrl是图片地址,
$uploadUrl是$security->getIndex的上传接口,都能正常得到想要的值

我感觉问题就出现在这个curl

    $picUrl = 'https://api.mmbkz.cn/ziyuan/ads.png';
    $picContent = file_get_contents($picUrl);
    
    Typecho_Widget::widget('Widget_Security')->to($security);
    $uploadUrl = $security->getIndex('/action/upload?cid='.$this->cid);
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $uploadUrl);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $picContent);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    $HTTP = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    echo $HTTP.'<br>';
    echo $response.'<br>';
    echo $uploadUrl.'<br>';

为什么返回了状态码403?

我使用js的方式很容易上传图片附件,但是使用php却不行。

请问如何使用php,并搭配typecho的$security->getIndex('/action/upload')实现上传附件的功能呢

非常感谢!

希望有大佬帮忙解答!!

方便的话,可以创建一个ty页面模板,然后放上这些代码,你就会看到返回了403

$picUrl = 'https://api.mmbkz.cn/ziyuan/ads.png';
$picContent = file_get_contents($picUrl);

// 把图片内容保存到临时文件里
$tempFile = tempnam(sys_get_temp_dir(), 'upload');
file_put_contents($tempFile, $picContent);

Typecho_Widget::widget('Widget_Security')->to($security);
$uploadUrl = $security->getIndex('/action/upload?cid='.$this->cid);

// 创建一个CURLFile对象
$cfile = curl_file_create($tempFile, 'image/png', 'ads.png');

// 设置POST数据
$post = array('file' => $cfile);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uploadUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$HTTP = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

// 删除临时文件
unlink($tempFile);

echo $HTTP.'<br>';
echo $response.'<br>';
echo $uploadUrl.'<br>';
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. JK下载官网所有资源来源于开发团队,加入会员即可下载使用!如有问题请联系右下角在线客服!
2. JK下载官方保障所有软件都通过人工亲测,为每位会员用户提供安全可靠的应用软件、游戏资源下载及程序开发服务。
3. JK开发团队针对会员诉求,历经多年拥有现今开发成果, 每款应用程序上线前都经过人工测试无误后提供安装使用,只为会员提供安全原创的应用。
4. PC/移动端应用下载后如遇安装使用问题请联系右下角在线客服或提交工单,一对一指导解决疑难。

JK软件下载官网 技术分享 typecho如何使用php实现上传附件的功能? https://www.jkxiazai.com/2026.html

JK软件应用商店是经过官方安全认证,保障正版软件平台

相关资源

官方客服团队

为您解决烦忧 - 24小时在线 专业服务