Laravel - storage_path函数使路径加倍

nzrxty8p  于 2023-03-13  发布在  其他
关注(0)|答案(1)|浏览(111)

我正在尝试获取存储文件夹中某个文件的路径。虽然storage_path()函数重复了给定的路径。
我的代码

$firstFile = 'app/public/temp/' . $timestamp . '/' . $tempName . '1.pdf';
$secondFile = 'app/public/temp/' . $timestamp . '/' . $tempName . '2.pdf';
$path1 = storage_path($firstFile);
$path2 = storage_path($secondFile);
dd($path1, $path2);

我的结果:

"/var/www/html/storage/app/public/temp/public/temp/1678441063/tempName1.pdf/public/temp/1678441063/tempName2.pdf1.pdf"
"/var/www/html/storage/app/public/temp/public/temp/1678441063/tempName1.pdf/public/temp/1678441063/tempName2.pdf2.pdf"

预期结果:

"/var/www/html/storage/app/public/temp/1678441063/tempName1.pdf"
"/var/www/html/storage/app/public/temp/1678441063/tempName2.pdf"

My filesystem.php(仅为相关代码缩短文件)

<?php

return [
    'default' => env('FILESYSTEM_DISK', 'local'),

    'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
            'throw' => false,
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL') . '/storage',
            'visibility' => 'public',
            'throw' => false,
        ],
    ],

    'links' => [
        public_path('storage') => storage_path('app/public'),
    ],

];

我试过从$firstFile中删除app/public,但结果是一样的。
我还运行了php artisan storage:link命令。
我使用php 8.1Laravel 9.19

dwbf0jvd

dwbf0jvd1#

修复感谢@KhangTran的评论。
我的$timestamp$tempName包含了一个路径,而不是它们应该包含的内容。

相关问题