我想通过Curl

问题描述

我是Laravel的新手,正在研究Laravel 5.8。有一种形式。在表单中,图像上传的字段太多了。表单使用ajax方法提交。 Ajax方法如下:

$('#total_guest').on('submit',function(e) {
        e.preventDefault();
        var data = new FormData();
        var img_file = $('#img')[0].files[0];
        var fname=$('#fname').val(); 
        var lname=$('#lname').val(); 
        var email=$('#email').val();
        var phone=$('#phone').val();
       data.append('file_name',img_file);
       data.append('fname',fname);
       data.append('lname',lname);
       data.append('email',email);
       data.append('phone',phone);
       data.append('_method','POST');
  
 $.ajaxSetup({
        headers: {
              'X-CSRF-TOKEN': $('Meta[name="csrf-token"]').attr('content')
            }
        });
    $.ajax({
            type:'POST',url:'/generateguest',processData: false,contentType: false,data:data,success:function(msg){
                //console.log(msg);
                $('#aaa').val(msg);
            }
        });
});

现在,我想将所有值发送到Codeigniter使用CURL方法开发的另一个项目。在Laravel控制器中,我编写了以下代码

if ($request->hasFile('file_name')) {
           $tmpfile = $_FILES['file_name']['tmp_name'];
            $filename = basename($_FILES['file_name']['name']);
            $data =curl_file_create($tmpfile,$_FILES['file_name']['type'],$filename);
             Session::put('user_search_data.g_photo',$data);
        }
        
        Session::put('user_search_data.fname',$request->fname); 
        Session::put('user_search_data.lname',$request->lname); 
        Session::put('user_search_data.email',$request->email); 
        Session::put('user_search_data.phone',$request->phone);
        if ($request->session()->has('user_search_data')){
            $value = $request->session()->get('user_search_data','default');
        }
        $url = env('API_URL','actual_URL'); 
        $post_url = $url."/guestcontroller/saveAsguest?";
        
        $post_string= http_build_query($value);
        $post_strings=rtrim($post_string,'&');
        $ch = curl_init();      
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch,CURLOPT_URL,$post_url);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        curl_setopt($ch,CURLOPT_HEADER,false);
        curl_setopt ($ch,1);
        curl_setopt ($ch,CURLOPT_SAFE_UPLOAD,CURLOPT_POSTFIELDS,$post_strings);
        curl_setopt($ch,1);
        $result = curl_exec($ch);
        curl_close($ch);

出于检查目的,当图像上传和数据插入过程进行了不止一次时,它会显示 Unserialization of CURLFile instances is not allowed 有人可以帮助我如何将值(图像和数据)发送到CodeIgniter控制器,并将包含数据的图像保存在CodeIgniter服务器和数据库中,而不会出现此问题吗? 预先感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)