#php #laravel #helper
#php #laravel #помощник
Вопрос:
я создал веб-сайт laravel
, сайт работает локально, он отображает изображение, если оно существует, и отображает not-found.jpg
изображение, если изображение не существует, и когда я размещаю его в Интернете [aswaktinghir.com ] [1], всегда отображать not-found.jpg
изображение, productImage
функция всегда переходит ко 2-му условию изображения not-found.jpg
, даже если есть изображение.
helpers.php
function productImage($path)
{
return $path amp;amp; file_exists('storage/'.$path) ? asset('storage/'.$path) : asset('img/not-found.jpg');
}
landing-page.blade.php
@foreach($annonces as $annonce)
<a href="{{ url('annonces/'.$annonce->id) }}">
<div class="col-md-3 col-xs-12">
<div class="blog-item this-animate" data-animate="fadeInUp">
<div class="blog-media">
<img src="{{ asset(productImage($annonce->image) )}}" class="img-responsive" style="width: 240px;height: 240px" />
</div>
<div class="blog-data">
<h5>{{ $annonce->details }}</h5>
<span class="blog-date">{{ $annonce->created_at }} / 0 Comments</span>
<p>{{ substr($annonce->description, 0, 31) }}...</p>
</div>
</div>
</div>
</a>
@endforeach
</div>
Комментарии:
1. вы создали символическую ссылку для хранения?
2. @TipuSultanEiko да, я создаю символическую ссылку, я редактирую свою функцию, чтобы ` return $path amp;amp; file_exists(‘storage /’.$path) ? asset(‘storage /’. $path): asset(‘storage /’. $path);` , вы можете снова увидеть ссылку на мой сайт
3. вы проверили пути к серверу? существует ли этот файл?
4. @TipuSultanEiko некоторые изображения существуют, а другие нет
Ответ №1:
Если вы используете Git для передачи файлов на свой рабочий сервер, обязательно загляните в свой файл .gitignore в корневом каталоге. Убедитесь, что вы не исключаете папки /store или /public/ store .
Комментарии:
1. нет, я использую filezilla, создаю символическую ссылку, редактирую свою функцию, чтобы `return $path amp;amp; file_exists(‘storage /’.$path)? asset(‘storage /’.$path): asset(‘storage /’. $path);` , вы можете снова увидеть мой сайт как
Ответ №2:
вы пробовали
chmod -R 755 [path to storage]
chown -R www-data:www-data [path to storage]
Комментарии:
1. когда я запускаю эту команду, она выдает ошибку:
The stream or file "/var/www/clients/client1/web1/web/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied
пожалуйста, помогите2. вам нужно добавить «sudo» перед каждой командой