当前位置: 首页 > 知识库问答 >
问题:

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

段干高歌
2023-07-14

我已经使用$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

共有1个答案

阙博容
2023-07-14
$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>';
 类似资料:
  • 本文向大家介绍ThinkPHP实现附件上传功能,包括了ThinkPHP实现附件上传功能的使用技巧和注意事项,需要的朋友参考一下 刚学的使用ThinkPHP框架简单上传附件(图片,文档,视频等文件) 首先需要了解tp框架中Upload.class.php(ThinkPHP/Library/Think/Upload,class,php)中的几个函数 1:getError() 获取上传错误信息 2:up

  • 本文向大家介绍asp.net uploadify实现多附件上传功能,包括了asp.net uploadify实现多附件上传功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了asp.net uploadify多附件上传的方法,供大家参考,具体内容如下 1、说明   uploadify是一款优秀jQuery插件,主要功能是批量上传文件。大多数同学对多附件上传感到棘手,现将asp.net

  • 本文向大家介绍php轻松实现文件上传功能,包括了php轻松实现文件上传功能的使用技巧和注意事项,需要的朋友参考一下 本文分为五个部分针对php上传文件进行分析讲解,具体内容如下 文件上传变量 将服务器上的临时文件移动到指定目录下 php.ini上传相关配置 error错误号 单文件上传实例 1.文件上传变量 2.将服务器上的临时文件移动到指定目录下 3.php.ini上传相关配置 4.error错

  • 本文向大家介绍如何利用PHP实现上传图片功能详解,包括了如何利用PHP实现上传图片功能详解的使用技巧和注意事项,需要的朋友参考一下 HTML文件 一、 设置编码UTF-8 对于中文网页需要使用<meta charset="utf-8">声明编码,否则会出现乱码。 二 、form表单 <form>标签用于为用户输入创建 HTML 表单,表单里包含php文件路径, 设置编码类型, 需要注意的是:默认情

  • 本文向大家介绍PHP实现文件上传功能实例代码,包括了PHP实现文件上传功能实例代码的使用技巧和注意事项,需要的朋友参考一下 点击浏览,将所选的文件上传到创建的images文件夹内 代码如下: 1.wenjian.php 2.chuli.php 以上所述是小编给大家介绍的PHP实现文件上传功能实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教

  • 本文向大家介绍php用wangeditor3实现图片上传功能,包括了php用wangeditor3实现图片上传功能的使用技巧和注意事项,需要的朋友参考一下 就在最近,公司让我写一个后台,其中用到了富文本编辑器。自从这个富文本的出现 我就慢慢的进入了一个坑,起初不知道用什么编辑器好,看了好多好多,最后选择了。这个 wangeditor3。个人认为这个富文本很干净,还很多功能。 选择了编辑器 我就慢慢