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

Laravel 5.7上传到公用文件夹不起作用

Laravel 5.7是一种流行的PHP开发框架,用于构建Web应用程序。在Laravel中,上传文件到公用文件夹的过程可以通过以下步骤完成:

  1. 确保你已经在Laravel项目中创建了一个公用文件夹,通常位于public目录下。你可以使用命令php artisan storage:link来创建一个符号链接,将storage/app/public目录链接到public/storage目录。
  2. 在你的表单中,确保你已经添加了enctype="multipart/form-data"属性,以便支持文件上传。
  3. 在你的控制器中,使用store方法来处理上传的文件。例如,如果你的文件字段名为file,你可以使用以下代码来保存上传的文件到公用文件夹:
代码语言:txt
复制
$file = $request->file('file');
$fileName = $file->getClientOriginalName();
$file->storeAs('public', $fileName);

这将把上传的文件保存到storage/app/public目录下,并使用原始文件名作为文件名。

  1. 如果你希望通过URL访问上传的文件,你可以使用asset辅助函数来生成文件的完整URL。例如,如果你的文件名为example.jpg,你可以使用以下代码来生成URL:
代码语言:txt
复制
$url = asset('storage/' . $fileName);

这将生成类似于http://your-domain.com/storage/example.jpg的URL。

关于Laravel 5.7上传到公用文件夹不起作用的问题,可能有以下几个原因:

  1. 权限问题:确保你的公用文件夹和相关目录具有适当的写入权限,以便Laravel可以保存上传的文件。
  2. 符号链接问题:如果你没有正确创建符号链接,Laravel可能无法正确访问公用文件夹。你可以使用命令php artisan storage:link来创建符号链接。
  3. 表单设置问题:确保你的表单中包含了enctype="multipart/form-data"属性,以便支持文件上传。
  4. 控制器代码问题:检查你的控制器代码,确保你正确处理了上传的文件,并将其保存到公用文件夹。

如果你遇到了问题,可以参考Laravel官方文档中关于文件上传的章节,以获取更详细的指导和解决方案。

腾讯云提供了一系列与文件存储相关的产品,例如对象存储(COS)和云存储(CFS)。你可以根据具体需求选择适合的产品来存储和管理上传的文件。以下是相关产品的介绍链接:

  1. 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  2. 腾讯云云存储(CFS):https://cloud.tencent.com/product/cfs
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Laravel 入门项目博客系列教程全部更新完了!

博客是 Web 1.0 的产物,也是 Web 应用中最基础、最简单的应用形态,是静态页面与动态网站最早的分水岭,所以我们从这里出发,开启基于 Laravel 框架构建 Web 应用之旅。...本博客项目后端基于 Laravel 5.7 开发(兼容 Laravel 5.5、5.6),前端资源基于 Laravel Mix 进行管理,采用全新的 Bootstrap 4 渲染 CSS,学院君的本地开发环境默认是...你既可以把它当做小试牛刀的练手项目,也可以把它当做入门 Laravel 框架的学习项目。...在后台实现文章增删改查功能(支持 Markdown) 套上 Clean Blog 主题 & 前台功能优化 联系我们&发送邮件功能实现 添加评论、订阅和站点地图功能 增补篇:博客应用自动部署上线 项目完整代码已经上传到...Github:https://github.com/nonfu/laravel-blog-code 以下是博客应用的部分截图: 首页: 详情页: 评论框: 联系我们: 管理后台: ?

1.6K20
  • 3分钟短文:用Laravel的方式管理服务器的文件们

    引言 如果我们的应用程序接收用户提交的许多静态文件,文档,图片等等,需要将其上传到服务器并进行有效地管理。...如果要把 storage 目录下的公用目录 public 公开到网络可访问位置,我们为其创建一个软连接: php artisan storage:link 这样就把目录 public 指向了 storage...文件操作 laravel提供的Storage文件操作类,封装了非常方便的文件读写和高级的功能操作。...比如读取一个文件的内容: Storage::disk('s3')->get('file.jpg'); 上述代码,读取s3服务的一个图片文件。...如果我们引入了一个第三方的文件存储服务,且有其一套API操作方式,而laravel系统并未提供该服务的驱动,能否自定义一套呢?完全可以。

    1.5K10

    Laravel5.7框架安装与使用学习笔记图文详解

    本文实例讲述了Laravel5.7框架安装与使用。...分享给大家供大家参考,具体如下: 【安装Laravel】 Composer安装: composer create-project --prefer-dist laravel/laravel 目录结构:...原因是并没有vendor这个文件夹,看了这篇博客https://www.zalou.cn/article/158896.htm 在根目录执行 composer update,下载了一大堆东西 完事访问一片空白...使用php artisan –version 命令查看安装的Laravel版本,是最新的5.7版本: ? ? 【一些配置】 Laravel 所有的配置文件都放在根目录/config下面: ?...项目通常会区分前后台,在tp中可以通过划分模块来实现,Laravel中同样可以用这个原理 在控制器目录下新建了两个文件夹:Index、Admin,分别作为前、后台控制器模块: ?

    7.5K30

    Laravel-添加后台模板AdminLte的实现方法

    1、新建laravel项目 composer create-project laravel/laravel myapp --prefer-dist 2、使用前端包管理器添加AdminLte(可以使用npm...3、将admin-lte文件夹复制到public目录下,开始使用: 首先按照laravel模板的方式建立layouts基础样式模板 default.balde.php, 将admin-lte下的starter.html...内容复制到default中, 并将头尾侧边栏等公用部分放入不同的子模板_header _footer _left中,如图: ?...</div </div </div </section </div @stop 想要使用admin-lte自带的任何样式,直接复制那部分的页面代码粘贴到需要的位置即可, 在本地电脑直接打开...以上这篇Laravel-添加后台模板AdminLte的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考。

    2.7K41

    Laravel框架实现多个视图共享相同数据的方法详解

    本文实例讲述了Laravel框架实现多个视图共享相同数据的方法。...分享给大家供大家参考,具体如下: 最近在用Laravel写一个cms,还没有完成,但是也遇到了许多难点,比如cms后台每个视图都要展示相同的导航菜单数据。...环境: PHP 7.1 Apache 2.4 MySQL 5.7 Laravel 5.4 传统方法 假设使用传统的方法,应该是在每个控制器中都调用数据,然后把数据都塞给视图。...注意:这里我将类定义成了CommonUtils,感觉名字取得不好,CommonUtils是存放在App\Libs下的,这个Libs文件夹是我新建的,用于存放工具类的。...如果需要给App\Libs文件夹添加自动加载,需要在composer.json文件里做如下修改。 ?

    1.5K21

    AI 写作助手和内容创建者 OpenAI Davinci v1.3.0SaaS 版

    您的用户可以产生的潜力基本是无穷无尽的。 用户还可以通过 OpenAI DALL-E AI Solution 对图像进行描述来生成 AI 图像。...Mollie(在线)(每月/每年/预付费) 布伦特里(在线)(预付费) Coinbase(在线)(预付费) 密切监控每月和每年的收入 完全准备就绪的 SaaS 平台 强大的管理面板 使用 PHP 8.1 和 Laravel...Extension PHP CURL Extension PHP symlink() function PHP file_get_contents() function Support for MySQL v5.7...configuration and installation up to you, we don’provide support on that) 安装教程 1、下载源码,将openaidavinci-1.3.zip上传到服务器...3、nginx用户设置网站运行目录为public,并配置伪静态规则,规则内容使用laravel伪静态规则内容。 4、打开域名 http://domain.com/install 安装。

    1.7K40

    Laravel5.2之Filesystem-从Dropbox中下载文件到AWS S3

    说明:本文主要讲述了Laravel的文件系统Filesystem的小Demo,逻辑不复杂,主要就是把Dropbox的一个文件下载到本地local,和下载到AWS S3中。...这个小Demo作为小练习玩玩,了解下Laravel的Filesystem。 备注:开发环境为Laravel5.2+MySQL5.7+PHP7,该环境也是公司项目环境,使用起来还不错。...error('S3 download fail'); } } } 执行命令php artisan filesystem:dropbox后,本地storage/app/public文件夹下就会下载一个...myrightcapital.pem文件,同时AWS S3对应的Bucket里也下载了该文件。...执行命令后,显示: Dropboxorigin文件myrightcapital.pem: 从Dropbox上下载到AWS S3的myrightcapital.pem文件: It is working

    1.5K41

    3分钟短文 | Laravel 给所有视图追加公共数据

    引言 这又是一个深入laravel运行方式的问题,面对数百张页面,不可能所有的简单的页面 复杂的页面都继承了某些公用的layout数据。那么如何做到给所有视图都追加公共数据呢?本文就来说一说。...代码像下面这样: View::share('data', [1, 2, 3]); 如果仅是指定控制器,或者路由的页面才会追加公用数据,可以在声明控制器的基类, 并在基类内注入公用数据。...function __construct() { $user = User::all(); View::share('user', $user); // 共享数据 } } 在需要使用公用数据的控制...因为中间件作为可插拔的组件, 功能独立,完全不影响程序的上下文结构,不会造成运行的困扰。...Route::group(['middleware' => 'SomeMiddleware'], function(){ // 路由 }); 深入一步 我们说laravel具有极大的灵活性,因此,共享数据的操作

    72710

    Laravel5.2之Demo1——URL生成和存储

    2、创建Form表单 (1)、在resources/views/文件夹下创建一个urls文件夹,在urls文件夹下创建一个form.blade.php文件文件名需要有blade字符串,laravel会自动识别这个文件为...样式style.css文件可以用asset()函数在public文件夹下找到路径,在这里就是public/css/urls/style.css。...不过有时也推荐使用它的Query Builder查询构造器,实际就是SQL语句封装的类,性能会比较高一些,个人遇到过一个场景:使用Eloquent ORM性能有点慢,导致PHP执行过长报503 Time...实际,控制器也就是路由层route、视图层view与模型model层的黏合剂而已,一般写laravel代码流程也仅此而已:现在路由里写好路由,再建立好model(包括创建好migrations和model...(2)、将验证信息传到模板视图中 @if(Session::has('errors')) {{$errors->first('link')}}<

    24.1K31

    3分钟短文|Laravel 使用like匹配字符串的用法示例

    引言 本文接着laravel的功能讲解,说一说在模型中查询条件内,使用like这样的SQL关键字 进行子字符串匹配。并通过几个示例,和不同的实现方法,为大家展示laravel的灵活性。...如果实在不行,在可读性,我们可以尝试一下laravel提供的本地作用域功能, 在模型内,或者全局内创建一个查询方法。...$result = BookingDates::whereLike('email', $email)->orWhereLike('name', $name)->get(); 把查询语句单独拿出来封装为公用的方法...当然了,如果倾向于使用原生的SQL语句实现,在模型的查询方法可以像下面这样写: BookingDates::whereRaw('email = ? or name like ?'..., [$request->email,"%{$request->name}%"])->get(); 特别注意的是laravel的参数绑定是使用问号的。

    2K10

    Mysql升级及配置优化

    mysql 5.6升级到5.7 Mysql官网下载最新5.7社区版,mysql-5.7.26-win32.zip 下载解压后的文件: 添加配置文件my.ini,主要是数据库配置、参数设置(端口号、字符集...password_expired='N' where user='root'; 删除,skip-grant-tables,重启服务, 然后用用户名密码连接mysql,添加一个账户,给与最高权限 Mysql5.7...瘦身 从1.7G到330M 删除文件夹中的lib 文件夹里的内容是给你重新编译MySQL软件使用的,一般使用不到。...注意:当 innodb_thread_concurrency 设置为0时,则innodb_thread_sleep_delay的设置将会被忽略,不起作用。如果数据库没出现性能问题时,使用默认值即可。...比之5.6在查询性能, 运行时占用,机器适配上有较好提升,在性能差的机器5.7比5.6有更好的性能 2.mysql优化除sql使用正确索引、分库分表外、读写分离等之外,根据服务器性能合理配置mysql

    98420

    laravel的那些坑

    开始是看中文文档,死活安装不,后来看了英文文档发现这个版本的安装说明是不同的 按照这个命令 才能正确地安装 composer create-project laravel/laravel {directory...5 下使用 HTML 和 Form 说明 Laravel 5 因为采用了另一套不同的架构, 而把 HTML 和 Form 类从核心里面移除....后来发现在laravel5 下面用 html即使按照上面设置 还是有问题, 根本搞不定,所以还是放弃了在laravel5下面使用html和form的想法,干脆还是先用laravel4吧,毕竟教程也多。...app.php 文件下增加一条别名'aliases' 'Carbon' => 'Carbon\Carbon', 即可 controller里的 $this->beforeFilter on 的写法不起作用...-4-Generators 可以通过命令下在一个完整包看看代码组织形式 $ git clone http://git.shiyanlou.com/shiyanlou/laravel-blog

    1.8K20

    使用 Docker 高效搭建本地开发环境(详细教程)

    什么是Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器,也可以实现虚拟化。...统一开发和生产环境 对于一般的小公司来说,搭建一个公用的开发环境是一件不那么划算的事情。那么就可以用Docker来统一开发环境,因为不管你用的是Windows、Mac 还是 Ubuntu。...附上dockerhub的下载链接: https://hub.docker.com/search/?.../laradock/nginx/sites文件夹,然后ll一下,我们会发现,laradock已经帮我们放了好多列举的文件进来 app.conf.example default.conf laravel.conf.example...symfony.conf.example 根据需求拷贝一份,然后修改一下就可以了,都不是很难,由于我们本地是laravel开发的博客项目,所以我就直接拷贝laravel.conf.example,然后使用

    2.7K10

    使用 Docker 搭建本地开发环境!真心强啊

    什么是Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器,也可以实现虚拟化。...统一开发和生产环境 对于一般的小公司来说,搭建一个公用的开发环境是一件不那么划算的事情。那么就可以用 Docker 来统一开发环境,因为不管你用的是 Windows、Mac 还是 Ubuntu。...附上dockerhub的下载链接: https://hub.docker.com/search/?.../laradock/nginx/sites文件夹,然后ll一下,我们会发现,laradock已经帮我们放了好多列举的文件进来 app.conf.example default.conf laravel.conf.example...symfony.conf.example 根据需求拷贝一份,然后修改一下就可以了,都不是很难,由于我们本地是laravel开发的博客项目,所以我就直接拷贝laravel.conf.example,然后使用

    1.3K10
    领券