PHP curl上传文件错误码26

2 篇文章 0 订阅

今天在写curl上传文件到远程服务器的时候远端一直接收不到,我打印了错误码,一直是26,后来百度找了很久,找到了26代表的错误信息,如下:

错误码

 看了半天路径,又想了半天,怎么会读取错误呢,又百度了半天,换了各种方式,@文件路径,new CURLFile(),curl_file_create()...等等,统统没用。

在我濒临崩溃,抱着垂死挣扎的心态在找错误时我终于!!找到了问题所在——路径!!!对没错,我看了好几次的路径,它缺少一个目录!!

找到问题后,我一步步调试,改成正确路径后,最后终于传过去了!!!

不多废话,下面贴上代码

封装的curl函数代码如下:

<?php
/**
 * httpPost 向指定url发送post请求
 * @param  string $url  要请求的URL地址
 * @param  array  $data 要传递的参数组成的数组
 * @return 请求的url返回的数据
 */
function httpPost($url,array $data)
{
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_POST,true);

    curl_setopt ($ch, CURLOPT_HEADER,false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$data);

    $result = curl_exec($ch);
    $info = curl_getinfo($ch);
    if (curl_errno($ch)) {
        echo '('.curl_errno($ch).')'.curl_error();
        return FALSE;
    }
    curl_close($ch);

    return $result;
}

调用代码如下(修改之前):

<?php 

//获取本地存的文件路径
$imgUrl = getUploadFile($_FILES['file']);

if($imgUrl['status']==10000)
{
    $url = "http://192.168.15.94/upload_img.php";
    // 上传至远程服务器
    $ymd = substr($imgUrl['fileName'],0,10);
    $data = [
    'file'=>new CURLFile(dirname(dirname(__FILE__)).'/file/bsy'.$ymd.md5($imgUrl['fileName']))
    ];

	var_dump(httpPost($url,$data)); 
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值