链接到laravel的图像

时间:2018-03-21 13:40:56

标签: javascript php html laravel

我正在使用laravel在学校项目上工作,我有一个图像目录,这些图像会随着时间的推移而变化,我试图只将这些图像的名称显示为没有扩展名的链接,但我不会这样做。知道如何隐藏扩展名,当我点击链接时,它就不会起作用。

  <?php
$dir_nom = '../images'; // dossier listé (pour lister le répertoir courant : $dir_nom = '.'  --> ('point')
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire nexiste pas'); // on ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers
$dossier= array(); // on déclare le tableau contenant le nom des dossiers

while($element = readdir($dir)) {
    if($element != '.' && $element != '..') {
        if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
        else {$dossier[] = $element;}
    }

}

if(!empty($fichier)){

    echo "<p>images : \n\n</p>";
    echo "\t\t<ul class=rien>\n";
        foreach($fichier as $lien) {

         echo "\t\t\t<a href=\"../images$lien \">$lien</a><br>\n";  
          }
    echo "\t\t</ul>";


 }
 closedir($dir);
?>
     ?>

3 个答案:

答案 0 :(得分:0)

您必须使用base_path函数以确保您具有打开此目录的正确路径。 在许多情况下,它由于错误的路径,所以只需验证路径。或者您可以将图像目录放在公共目录中,然后您就可以轻松访问它。 对于路径,即使您在Linux发行版中,它也不会是..\images../images而只是ìmages

答案 1 :(得分:0)

它适用于此:

<?php 
$dirname = 'images'; 
$dir = opendir($dirname); 
while($file = readdir($dir)) { 
  if($file != '.' && $file != '..' && !is_dir($dirname.$file)) { 
    echo '<a href="'.$dirname.'/'.$file.'">'.$file.'</a>'; } } closedir($dir); 
    ?>

答案 2 :(得分:0)

创建控制器和路线以获取图像。 route参数将是图像名称,因此您可以从控制器获取它。

Route::get('img/{img}', 'ImageController@getImage')->name('image');

您的控制器getImage()方法将如下所示:

use Intervention\Image\Facades\Image;

//...

public function getImage($img)
{
    return Image::make(asset('img/'.$img.'.jpg'))->response();
}

asset()帮助程序创建位于public文件夹中的给定资源的绝对路径。

所以现在,由于路线,扩展不再显示。如果您希望仅通过此路线访问您的图片,请改用storage

最后,您可以使用视图中的route()帮助程序获取路线的网址。

<a href="{{ route('image', 'imageNameWithoutExtension') }}">Link</a>