配置layui实现文件上传与储存;curl请求接口数据

编辑: admin 分类: 电脑知识 发布时间: 2023-06-14 来源:互联网
tp6配置layui,实现文件上传与储存

1、修改public/.htaccess文件配置,在index.php后加?,如下:

  1. RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]

2、引入layui.js文件:

  1. <script src="/static/layui/layui.js"></script>

3、引入layui的layer和upload模块:

  1. layui.use(['layer', 'upload'], function () {
  2. $ = layui.jquery;
  3. upload = layui.upload;
  4. layer = layui.layer

4、执行实例,接口配置:

  1. var uploadInst = upload.render({ elem: '#img_upload' //绑定元素 , url: '/Files/upload' //上传接口, field: 'image', done: function (res) {
  2. //上传完毕回调
  3. if (res.code > 0) {
  4. return layer.alert(res.msg, { icon: 2 });
  5. }
  6. $('#img_singer').attr('src', res.data);
  7. }
  8. , error: function () {
  9. //请求异常回调
  10. }
  11. });
  12. });

5、创建Files类及upload方法:

  1. function upload(){
  2. //接收数据:
  3. $file = request()->file('image');
  4. $savename = '/storage/' . \think\facade\Filesystem::disk('public')->putFile('topic', $file);
  5. //同一斜杠:
  6. $savename = str_replace('\\', '/', $savename);
  7. //返回响应结果:
  8. return json(['code' => 0, 'data' => $savename]);
  9. // 可以echo也可以return
  10. }

存储上传数据:

  1. function save() {
  2. var data = {};
  3. data.name = $('input[name="title"]').val();
  4. data.catid = $('select[name="catid"]').val();
  5. data.avatar = $('#img_singer').attr('src');
  6. console.log(data);
  7. $.post('/singer/save', data, function (res) {
  8. console.log(res);
  9. if (res) {
  10. layer.alert('新增成功', { icon: 1 }, function () {
  11. location.href = 'http://admin.phpenv.com/';
  12. });
  13. }
  14. }, 'json')
  15. }
curl请求接口数据
  1. $url = "http://v.juhe.cn/toutiao/index?type=guoji&key=***";
  2. $curl = curl_init();
  3. curl_setopt($curl, CURLOPT_URL, $url);
  4. curl_setopt($curl, CURLOPT_HTTPGET, true);
  5. curl_setopt($curl, CURLOPT_POST, true);
  6. curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
  7. curl_setopt($curl, CURLOPT_HEADER, false);
  8. // 执行curl_exec()获取到的信息不输出,直接已字符串方式返回
  9. curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
  10. $apiData = curl_exec($curl);
  11. // echo $apiData;
  12. $data = json_decode($apiData, true);
总结:

curl的参数配置有点看不懂,根据老师的配置可以获取网络数据,有点像爬虫;通过配置layui实现文件上传比较容易理解,注意第1条文件配置,否则会报错。

【本文由:阿里云代理 http://www.56aliyun.com 复制请保留原URL】