首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将上传的文件url保存到数据库laravel 5.4

在Laravel 5.4中,将上传的文件URL保存到数据库可以通过以下步骤实现:

  1. 首先,确保你已经安装了Laravel 5.4并配置好了数据库连接。
  2. 创建一个用于保存文件URL的数据库表。可以使用Laravel的迁移工具来创建表。打开命令行工具,进入项目根目录,然后运行以下命令来生成迁移文件:
代码语言:txt
复制

php artisan make:migration create_files_table --create=files

代码语言:txt
复制

这将在database/migrations目录下生成一个新的迁移文件。

  1. 打开生成的迁移文件,可以在up方法中定义表的结构。添加一个url字段用于保存文件URL。示例代码如下:
代码语言:php
复制

public function up()

{

代码语言:txt
复制
   Schema::create('files', function (Blueprint $table) {
代码语言:txt
复制
       $table->increments('id');
代码语言:txt
复制
       $table->string('url');
代码语言:txt
复制
       $table->timestamps();
代码语言:txt
复制
   });

}

代码语言:txt
复制
  1. 运行迁移命令来创建表:
代码语言:txt
复制

php artisan migrate

代码语言:txt
复制

这将在数据库中创建一个名为files的表。

  1. 在你的应用程序中,创建一个用于上传文件的表单。可以使用HTML表单或Laravel的表单构建器来实现。确保表单中有一个文件上传字段。
  2. 创建一个用于处理文件上传的控制器方法。在该方法中,可以使用store方法将上传的文件保存到指定的目录,并获取文件的URL。示例代码如下:
代码语言:php
复制

public function upload(Request $request)

{

代码语言:txt
复制
   $file = $request->file('file');
代码语言:txt
复制
   $path = $file->store('uploads'); // 将文件保存到指定目录,返回保存的路径
代码语言:txt
复制
   $url = asset($path); // 获取文件的URL
代码语言:txt
复制
   // 将URL保存到数据库
代码语言:txt
复制
   $fileModel = new File;
代码语言:txt
复制
   $fileModel->url = $url;
代码语言:txt
复制
   $fileModel->save();
代码语言:txt
复制
   return '文件上传成功!';

}

代码语言:txt
复制

在上述代码中,store方法将文件保存到public/uploads目录,并返回保存的路径。asset函数用于获取文件的完整URL。

  1. 创建一个路由来调用文件上传的控制器方法。可以在routes/web.php文件中添加以下代码:
代码语言:php
复制

Route::post('/upload', 'FileController@upload');

代码语言:txt
复制
  1. 最后,在你的视图中创建一个表单来上传文件。确保表单的enctype属性设置为multipart/form-data,以支持文件上传。示例代码如下:
代码语言:html
复制

<form action="/upload" method="post" enctype="multipart/form-data">

代码语言:txt
复制
   @csrf
代码语言:txt
复制
   <input type="file" name="file">
代码语言:txt
复制
   <button type="submit">上传文件</button>

</form>

代码语言:txt
复制

在上述代码中,action属性指定了文件上传的路由。

现在,当用户上传文件时,文件将保存到指定目录,并将文件的URL保存到数据库中。你可以根据需要进一步处理文件的URL,例如在页面中显示文件链接或进行其他操作。

关于Laravel 5.4的更多信息和文档,请参考Laravel官方文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

laravel5.4excel表格中信息导入到数据库

本功能是借助 Maatwebsite\Excel 这个扩展包完成,此扩展包安装过程请参考上篇博文:http://www.cnblogs.com/zhuchenglin/p/7122946.html...1.首先在得有需要导入文件,这个过程可以利用laravel文件上传功能完成, 详情可以参考laravel文档http://laravelacademy.org/post/6885.htm,这里不再多说文件上传...2.假定现在要导入到数据库表格在 storage下面的test.xls public function daoru() { $filePath = 'storage/' . iconv('...如果出现文件内容和你文件内容不一致情况,可能是因为导入表格表头是汉字 可以尝试安装时候生成配置文件excel::import.heading默认值改了,查看一下结果 可能值有:true...| false | slugged | ascii | numeric | hashed | trans | original  详情请参考文档 http://www.maatwebsite.nl/laravel-excel

2.8K40
  • laravel5.5框架上传图片功能实例分析【仅传到服务器端】

    本文实例讲述了laravel5.5框架上传图片功能。分享给大家供大家参考,具体如下: 这里面包含单张和多张图片上传 首先先来前端页面的html <!...DOCTYPE html <html <head <title 上传图片</title </head <body <form method="post" action="{{<em>url</em>('uploadImgs...,图片上去了只是ide加载很慢"; } else { exit('未获得到上传文件,或上传失败'); } // 多图上传 public function uploadImgs..., $data); //写入二进制流到文件 fclose($newFile); //关闭文件 } 更多关于Laravel相关内容感兴趣读者可查看本站专题:《Laravel框架入门与进阶教程》、...《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家基于Laravel框架PHP程序设计有所帮助

    85531

    Laravel5.4框架使用socialite实现github登录方法

    本文实例讲述了Laravel5.4框架使用socialite实现github登录方法。...分享给大家供大家参考,具体如下: 1.安装laravel5.4 composer create-project laravel/laravel zcms 5.4 2.安装Socialite composer...,client_secret到.env文件 GITHUB_CLIENT_ID=211a7aa4b9c5a3a4c10c GITHUB_CLIENT_SECRET=2d3174561e440ed887a604f571aff9fa5bd84e44...code=乱七八糟 更多关于Laravel相关内容感兴趣读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程...》及《php常见数据库操作技巧汇总》 希望本文所述对大家基于Laravel框架PHP程序设计有所帮助。

    1K41

    Laravel 数据表数据导出,并生成seeds种子文件方法

    用过laravel都知道,我们表里面的数据通常是保存到seeder文件中,但是有些时候需要将表里已有的数据导出到seed文件中,那么怎么导出呢,其实这里有个扩展包叫iseed,我们可以利用它来把数据表里数据导出到...安装isseed 安装isseed,我这里是laravel 5.4,安装iseed是2.1版本,你们看情况,随意 composer require "orangehill/iseed": "2.1"...iseed加入到composer.json文件中去 ?...--force 导出指定数据库里指定表,并生成seed文件 php artisan iseed 表名--database=数据库名 基本上就是这么用,差不多就到这里,实践是检验真理唯一标准,还不快去...以上这篇Laravel 数据表数据导出,并生成seeds种子文件方法就是小编分享给大家全部内容了,希望能给大家一个参考。

    1.9K21

    Laravel框架关键技术解析

    ,包括路由文件、控制器文件、模型文件等 bootstrap:主要包含几个框架启动和自动加载配置文件 config:主要包含应用程序常用配置文件信息 database:主要包含数据库迁移和数据库填充文件...,默认内容不是必须 @include(‘子视图名称’):用于在视图文件中加载子视图文件,使得视图文件结构清晰 六、Laravel框架中设计模式 A.服务容器 1.服务理解为系统运行中需要东西,如对象.../laravel5.4cn 十、数据库及操作 A.数据库迁移与填充 1.Laravel数据库迁移其实是定义了一个统一接口来实现数据库架构创建和维护,而这种统一接口与底层数据库及其操作语言都是无关...名称 https://github.com/zhangyue0503/laravel5.4cn 十一、Redis数据库 A.redis数据库应用 1.Laravel框架整合了predis资源包后这些操作过程划分三个阶段...操作指令生成和发出 https://github.com/zhangyue0503/laravel5.4cn 十二、会话 A.Laravel框架中session机制 1.当客户端访问服务器时,服务器开启

    11.9K20

    抖音视频爬取项目:Dusk库使用示例

    所以我们介绍如何使用PHP和Dusk库来创建一个抖音视频爬虫项目,以下载抖音视频并保存到本地。Dusk库相关介绍Dusk库是一个用于Laravel框架浏览器自动化测试和网页爬虫工具。...2使用Dusk选择器定位视频元素,通常是通过视频标签或类名来定位。3提取视频URL、标题、点赞数、评论数等信息。4这些信息保存到本地文件。...如何保存到本地一旦我们成功提取了视频信息,接下来一步是这些信息保存到本地文件数据库中。这通常涉及到数据序列化和存储。...以下是一个示例代码,视频信息保存到JSON文件中:$videoInfo = [ 'title' => $title, 'likes' => $likes, 'url' => $videoUrl...('video_info.json', $jsonData);您可以根据项目需求数据保存到不同存储介质,如数据库或云存储。

    53740

    基于 Redis 消息队列实现文件上传异步存储

    异步处理实现原理 文件上传和存储是一个耗时操作,因为既涉及到网络传输,又涉及到磁盘 IO,如果表单中包含文件上传控件,在网络带宽不高、或者网络不佳、上传文件很大等因素响应下,通常需要等待数秒、甚至数十秒才能完成文件上传和服务端存储...不过在 Laravel 中,我们可以基于消息队列完成文件存储异步处理:编写一个处理文件上传任务类,当有文件上传时,将该文件存储操作通过任务类推送到消息队列,最后通过队列处理器进程异步处理存储和其他后续操作...return; } // 文件存储成功,则将其保存到数据库,否则 5s 后重试 if (Storage::disk('public')->put($path...一种优化思路是将上传文件临时存储到某个路径,然后临时文件路径作为载荷数据替代之前 base64 编码,在处理任务时再从这个临时路径加载文件,待文件处理完成后,删除这个临时文件。...Storage::disk('local')->exists($this->path)) { return; } // 文件存储成功,则将其保存到数据库,否则 5s 后重试

    3.5K20

    PHP-web框架Laravel-表单和验证

    上述代码使用了Form::open方法来创建表单,并指定了表单提交URL。...二、表单处理在表单提交后,需要将表单数据处理并保存到数据库中。在Laravel中,可以使用控制器来处理表单数据,并将其保存到数据库中。...如果表单验证失败,Laravel会自动错误信息保存到Session中,并将用户重定向表单页面。如果验证成功,则可以使用$request对象来访问已验证表单数据。...表单请求来验证表单数据,并在验证通过后将用户名和密码保存到数据库中。...四、错误处理在Laravel中,可以使用$errors变量来获取表单验证错误信息。如果表单验证失败,Laravel会自动错误信息保存到$errors变量中,并将其传递给视图。

    2.5K30

    Laravel 5 报错信息存在严重漏洞

    0x00:简介 Laravel是一套简洁、优雅PHPweb开发程序框架,并且具有简洁表达,是一个比较容易理解且强大,它提供了强大工具用以开发大型网站应用。...不求刷火箭 多转发我文章就是给我最大火箭! 0x01:过程 很多开发人员在测试网站服务时候,一般会去安装Whoops样式错误处理器。方便开发人员边调试边查找错误信息。...例如 老规矩 Navicat走起 来看看有多少铁憨憨 但是不排除蜜罐情况 一键排除蜜罐 7000+???...但不是每个Laravel开发都是铁憨憨 有得则是显示不算敏感信息 有的则是 别问 为什么是127.0.0.1 问就是 爱过、大、救我妈、我妈会游泳 0x02:修复建议 $run->pushHandler...exception->getMessage()); return Handler::DONE; }); 替换var_dump($exception-> getMessage());使用自定义代码保存到数据库文件日志中

    2.2K30

    Laravel系列2.2】Laravel 目录结构与配置

    Laravel 目录结构与配置 Laravel 目录结构相对来说在初始状态下会更丰富一些,除了传统控制器之外,也帮我们准备好了脚本、中间件之类代码文件目录,基本上是可以达到上手直接使用。...bootstrap 是在启动框架时候需要加载文件,一般不太会修改这个文件里面的内容,在这个目录下还包含 cache 相关目录文件。database 很明显是数据库相关内容。...独立配置文件这种形式很容易实现配置中心,也很容易实现测试环境和正式环境分别部署。一般我们不会将这个 .env 放到 git 中,或者跟随代码上传。...write() 方法这些配置文件信息写入到 $_SERVER 全局变量数组中。...Laravel 就是 .env 文件数据缓存到了全局变量 $_SERVER ,然后我们在将来使用时候就直接从全局变量中获取就可以了,这样就可以避免下一次还要从文件读取,从而提高系统效率。

    4.4K30

    Laravel5.4 队列简单配置与使用

    引用一点官方翻译的话: Laravel 队列为不同后台队列服务提供统一 API , 例如 Beanstalk,Amazon SQS, Redis,甚至其他基于关系型数据库队列。...队列目的是耗时任务延时处理,比如发送邮件,从而大幅度缩短Web请求和相应时间。 队列配置文件存放在 config/queue.php。...每一种队列驱动配置都可以在该文件中找到, 包括数据库, Beanstalkd, Amazon SQS, Redis, 以及同步(本地使用)驱动。...这个函数主要用途就是将你队列需求加入到指定容器中(专业点叫生产者,其实你大可理解为你在商城购物完排队结账时候) 设置驱动 Laravel神奇数据库迁移我就不多说了。我相信你知道。...更多专业吊炸天教程请参考China Laravel http://d.laravel-china.org/docs/5.4/queues 最后修改:1年前 2017-08-10 © 著作权归作者所有

    1.5K10

    Laravel 5 系列入门教程(一)【最适合中国人 Laravel 教程】

    如果自暴自弃,可以把 第 29 行 'url' => 'http://localhost', 配置成你子目录地址,注意,要一直配置到 ***/learnlaravel5/public。...数据库建立及迁移 Laravel 5 把数据库配置地方改到了 `learnlaravel5/.env`,打开这个文件,编辑下面四项,修改为正确信息: DB_HOST=localhost DB_DATABASE...模型 Models 接下来我们接触Laravel最为强大部分,Eloquent ORM,真正提高生产力地方,借用库克一句话:鹅妹子英!...这里需要强调一下,用命令行方式创建文件,和自己手动创建文件没有任何区别,你也可以尝试自己创建这两个 Model 类。 Model 即为 MVC 中 M,翻译为 模型,负责跟数据库交互。...表和 pages表数据库迁移,进入 `learnlaravel5/database/migrations` 文件夹。

    3.4K20

    laravel 学习之路 配置config

    前面文章路由与控制器我们都了解了,现在了解一下laravelconfig配置 配置项 laravel 配置项是在根目录下 /config 目录中,还有一个是根目录下 .env文件 ?...Laravel 在 config/database.php 文件中我们可看到数据库配置 ?...APP_URL 是需要该,他就是项目的域名,我是在本地开发 http://study.laraveltest.com/ DB_开头这一堆配置也都要改成本地数据库。 ?.../config 目录下数据库配置 laravel 5.4 以后默认使用 utf8mb4 字符集,utf8mb4 主要是用来支持 emoji 表情,如果你本地环境mysql 低于5.7.7,为了防止在以后使用过程中报如下错误...除了数据库还有两个需要改打开 config/app.php文件把 timezone 改为 PRC ,laravel 默认时区是 UTC中国时区是 PRC 如果没有改的话, 那数据库存自动生成时间会和我们实际相差

    2.1K10
    领券