Php 显示上载的图像在Windows中工作,但在Linux中不工作

Php 显示上载的图像在Windows中工作,但在Linux中不工作,php,laravel,Php,Laravel,此代码工作正常,并正确保存图像: if(request()->file("avatar_upload")) { $file = request()->file("avatar_upload"); $ext = $file->guessClientExtension(); if($ext == "jpg" || $ext == "jpeg" || $ext == "png"){ $file->storeAs('public/avata

此代码工作正常,并正确保存图像:

if(request()->file("avatar_upload")) {
    $file = request()->file("avatar_upload");
    $ext = $file->guessClientExtension();
    if($ext == "jpg" || $ext == "jpeg" || $ext == "png"){
        $file->storeAs('public/avatars/' . Auth::user()->id , "avatar.jpg");
    }
}
现在要显示它,我使用它,它在Windows中工作,但在Linux中不工作:

@if(File::exists('/storage/avatars/'.Auth::user()->id))
    <div class="image-upload">
        <label for="avatar_upload">
            <img src="{{asset('/storage/avatars/'.Auth::user()->id)."/avatar.jpg"}}"/>
        </label>
        <input id="avatar_upload" name="avatar_upload" type="file"/>
    </div>
@else
    <div class="image-upload">
        <label for="avatar_upload">
            <img src="/assets/admin/img/noimage.png"/>
        </label>
        <input id="avatar_upload" name="avatar_upload" type="file"/>
    </div>
@endif
@if(文件::存在('/storage/avatars/'.Auth::user()->id))
id)。“/avatar.jpg”}}”/>
@否则
@恩迪夫
它在Linux中始终显示noimage.png,同时检索并显示图像窗口


知道原因吗?

如果您已经为“
存储/化身
”创建了文件夹权限,并且遇到了相同的问题,那么:

我认为您的代码需要更新如下:

@if(File::exists('/storage/avatars/'.Auth::user()->id.'/avatar.jpg'))
   <div class="image-upload">
       <label for="avatar_upload">
           <img src="{{asset('/storage/avatars/'.Auth::user()->id).'/avatar.jpg'}}"/>
       </label>
       <input id="avatar_upload" name="avatar_upload" type="file"/>
   </div>
@else
   <div class="image-upload">
       <label for="avatar_upload">
           <img src="/assets/admin/img/noimage.png"/>
       </label>
       <input id="avatar_upload" name="avatar_upload" type="file"/>
   </div>
@endif
@if(文件::存在('/storage/avatars/'.Auth::user()->id./avatar.jpg'))
id)。'/avatar.jpg'}}/>
@否则
@恩迪夫

希望这项工作为你

你有任何错误吗?@AntonisTsimourtos没有,它只是在linux上不会显示图像。你是指windows上的PHP还是linux上的PHP还是浏览器?@nerdlyist我将一个laravel项目从windows迁移到linux。你需要搜索你的代码库,然后查找错误的“\”。它可能在任何地方。我会查看你的浏览器检查器网络选项卡,发现失败的URL,因为我忘了在最后添加“/avatar.jpg”,但这并没有解决问题。我通过删除链接开头的/解决了这个问题('storage/avatars/'.Auth::user()->id./avatar.jpg'))