部署时文件存储无法在laravel项目上运行 - php

我有在我的本地主机服务器上工作的laravel项目,但是当我在000webhostapp.com Webhost域上部署它时。文件存储库不起作用。它保存数据,但不保存文件或图像。继承人的链接。 https://vincetestsite.000webhostapp.com/products_list

您可以通过用户名登录-密码和密码-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参考方案

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

首先,运行以下命令: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

查看屏幕快照以查看符号链接的工作方式:http://image.prntscr.com/image/b4cfcf25b317471493855a49199f82d2.png

php:是否有充分的理由引用所有数组键/索引? - php

我正在遍历别人的代码,他们总是避免转义其数组键。例如:$ row_rsCatalogsItems [名称]代替$ row_rsCatalogsItems ['名称']因此,我不断地对自己接触的所有事物进行微小的更改,以应对这些惰性。但是现在我想知道这样做是否有很多好处。我得到它会在默认为字符串之前检查常量(我在处理常量时会讨厌php中的行为,因为即使未定义,…

PHP数组可以这样做吗? - php

可以说;我有一个$ friends数组,其中有2,000个不同的friendID号+我有一个带有10,000 bulletinID号的$ bulletins数组,该$ bulletins数组还将具有另一个值,该ID的用户ID是发布公告条目的用户现在可以获取所有具有与FriendsID数组中的userID匹配的userID的bulletinID号吗?甚至有可能…

哪个更好的做法?从Jquery响应获取HTML - php

这只是一个问题,以了解人们如何以及如何做到这一点,但是假设用户向列表中添加了一些内容,完成后,它将运行下面的ajax并更新.user-stream-list$.ajax({ url: "user-stream-list.php", success: function(data){ $(".user-stream-list…

PHP标头功能不起作用 - php

我曾经使用此功能从一个PHP页面重定向到另一个:header( 'Location: student.php?cnp='.$_REQUEST['name']) ; 在我的本地主机中,它确实可以工作,但是如果在Internet中对其进行测试,则不会重定向。我也尝试给出完整的路径(如http://.../student.p…

使用PHP从sqlite3数据库检索表名称 - php

我有此代码的工作版本,如下所示,结果为can be seen here。<?php // Display all sqlite tables $db = new SQLite3('data.db'); $tablesquery = $db->query("SELECT name FROM sqlite_master …