gpt4 book ai didi

php - 部署时文件存储在 Laravel 项目上不起​​作用

转载 作者:行者123 更新时间:2023-12-01 07:43:23 25 4
gpt4 key购买 nike

我有一个可以在本地主机服务器上运行的 laravel 项目,但是当我将其部署在我的 000webhostapp.com webhost 域上时。文件存储不工作。它保存数据,但不保存文件或图像。这是链接。 https://vincetestsite.000webhostapp.com/products_list

您可以通过用户名 - vince 和密码 - 123 登录

以及下面的代码。

    $product_name = $form->input('product_name');
$description = $form->input('description');
$pro_price = $form->input('pro_price');

$product_id = DB::table('products_tbl')->insertGetId([ 'product_name' => $product_name,
'description' => $description,
'pro_price' => $pro_price]);

if($form->file('imgfile')){
$imgfile = $form->file('imgfile');
$imgfile->storeAs('public/storage/products', $product_id.'.jpg');
}

最佳答案

似乎您的代码试图将文件放入符号文件夹中,这是不正确的。您现在可能不需要知道它是什么。

首先,运行此命令:php artisan storage:link

第二,更改代码:

$relPathAndName = $file->storePubliclyAs('/public/products', $product_id.'.jpg');

return str_replace('public', 'storage', $relPathAndName);

//Then to use it later:
asset('storage/products/product_id.jpg')

按照 Laravel 的说明,您应该将数据存储在 /path/to/yourproject/storage/app/public 下。然后,一旦您在此文件夹中创建了文件或文件夹,它将自动出现在 /path/to/yourproject/public/storage

您可以阅读更多内容:https://laravel.com/docs/5.4/filesystem

查看屏幕截图以了解符号链接(symbolic link)的工作原理:http://image.prntscr.com/image/b4cfcf25b317471493855a49199f82d2.png

关于php - 部署时文件存储在 Laravel 项目上不起​​作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43705144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com