当前位置: 首页 > 知识库问答 >
问题:

Laravel在共享主机中保存的文件/图像的目录错误

云宜人
2023-03-14

我有一个上传文件的功能。在本地主机上,它没有错误。但在我部署到共享主机上之后,它就出现了一个问题。如果是localhost,我不会移动一些文件夹,但在“教程”共享主机上,我需要创建两个文件夹。拉威尔和公众。此Laravel文件夹是项目Laravel上的所有文件,没有公用文件夹

这是我共享主机上的模式

(/home/sippaur)

Laravel-

>

  • 应用程序

    独自创立

    配置

    数据库

    public_html

    • 文件(此文件保存在此处)

    资源

    路线

    存储

    测试

    供应商

    日志

    邮政

    public_ftp

    公共网页-

    >

  • css

    文件(不在此处,我需要保存在此处)

    家啊

    图像

    js

    卡利布拉西

    公开的

    标准作业程序

    主题

    我有一个上传文件的功能,并将该文件保存到公共html上的目录文件中,如下所示

    public function store6(Request $request) {
        $this->validate($request, [
            
        ]);
        if($request->hasfile('image')) {
            $file = $request->file('image');
            $name=$file->getClientOriginalName();
            $file->move(public_path().'/files/', $name);  
            $data = $name;  
        }
        
        $user = new pemeliharaan;
        $id = Auth::user()->id;
    
        $user->user_id = $id;
        $user->alat_id = $request->alat_id;
        $user->pertanyaan =json_encode($request->except
        (['_token','name','alat_id','status','catatan','image']));
        $user->catatan = $request->catatan;
        $user->image=$data;
        $user->status = $request->status;
        $user->save();
        // dd($user);
        return redirect('user/show6')->with('success', 'Data Telah Terinput');
    }
    

    但是,此文件未保存在public\u html/files

    该文件保存在Laravel文件夹中的公共html上(您可以在schema中看到)。有人能帮我吗?

  • 共有1个答案

    宰父存
    2023-03-14

    使用以下代码将文件保存到公用文件夹中的文件目录。

    use Illuminate\Support\Facades\Storage;
    
    class YourClassName  implements Contract {
    
        public function store6(Request $request) {
            $this->validate($request, [
                
            ]);
            if($request->hasfile('image')) {
                $file = $request->file('image');
                $name=$file->getClientOriginalName();
                Storage::putFileAs('public/files', $file, $name);
                $data = $name;  
            }
    
            $user = new pemeliharaan;
            $id = Auth::user()->id;
    
            $user->user_id = $id;
            $user->alat_id = $request->alat_id;
            $user->pertanyaan =json_encode($request->except
            (['_token','name','alat_id','status','catatan','image']));
            $user->catatan = $request->catatan;
            $user->image=$data;
            $user->status = $request->status;
            $user->save();
            return redirect('user/show6')->with('success', 'Data Telah Terinput');
        }
    }
    
     类似资料:
    • 我的问题是:如何在共享网络主机的目录(而不是根目录)中运行laravel应用程序? 对于我的一些客户,我在他们选择的共享虚拟主机的根文件夹中运行Laravel应用程序,并从URL中删除 /public部分。为了完成这项工作,我将index.php移动到根文件夹,并将信息从index.php更改为: 现在我知道这可能会导致安全问题,但我已经找到了解决方案,共享网络主机的情况下。 我用来进行此更改的.

    • 我将我的网站从本地主机移动到共享主机这一切都很好,但当我将存储的文件直接上传到public\u html时,我需要:类似于public\u html/storage/我尝试使用类似以下内容: 问题仍然存在。 我的控制器: 我的文件夹: 首页/abdoweb/{bmcelaravel} 核心laravel: 首页/{bmce} 非常感谢。

    • 我的应用程序有两个按钮,一个用于共享图像,另一个用于将其保存到内存,保存按钮工作正常,但共享按钮不工作。 这是保存按钮: 下面是分享部分: logcat上什么也没有显示,我只是得到了一些错误的吐司。权限正确。 Logcat

    • 我有个问题。My laravel在共享主机上看不到图像。 我有公共文件夹在~/域/DOMAIN/public_html/APP和其余的文件在~/域/DOMAIN/文件。 我的文件正在上载到~/domains/DOMAIN/files/storage/app/public/uploads/avatars 但在应用程序中,我看不到这一点。 这是上传代码: 你能帮我做什么吗?

    • 我部署我laravel 5.4项目在共享主机上使用子域我安装了作曲家,改变了路径的index.php,供应商路径,DB主机,用户名等。 我得到以下错误 致命错误:未捕获意外值异常:在"/存储/日志"中没有现有目录,并且无法构建:在 /vendor/monolog/monolog/src/Monolog/Handler/StreamH中拒绝权限andler.php:171 我尝试了以下命令:php

    • 我有一个网络应用程序,在localhost工作良好,但当我上传到cboard主页显示良好,但所有其他路线我得到错误404。到目前为止,我所做的(1)在根文件夹中创建文件夹myapp(2)复制所有公共文件到public_html(3)修改index.php两行到 在我的路线上我有 在我的链接中我有