如何隐藏图片的扩展名?

时间:2018-09-10 12:14:21

标签: php xampp localhost

我在本地主机中有一个链接,该链接指向jpg图像。我想继续使用相同的链接,但最终要用Word文件替换该图像。或pdf文件。或gif文件。或任何其他非jpg图片扩展名。

(请相信我,这在上下文中很有意义,但是上下文对于这个问题并不重要,因此我将其省略。)

如何创建到这些文件的链接而末尾没有文件扩展名?我可以创建一个php页面并在其中嵌入图像(或其他文件类型),但是我的一个要求是URL 需要与图像URL相同。因此,专门针对的jpg,png和gif文件(不用担心其他文件类型),我希望能够在使用浏览器查看时右键单击它,请转到“复制图像地址”,并获得与浏览器地址栏中相同的确切链接,就好像我在查看常规图像一样。

有这种可能吗?

要重申:
 -我需要生成一个可以为 any 文件类型的链接
 -如果链接指向的是图像文件(jpg,png,gif),则您从“复制图像地址”获得的链接应该与在浏览器中用于查看该链接的链接相同。

示例:

这是我保存在PC上的图像:
C:\ xampp \ htdocs \ my_projects \ my_image.jpg

我可以使用以下链接在浏览器中直接查看它:
本地主机/my_projects/my_image.jpg

但是,我真正想要的是这样的东西:
本地主机/ my_projects / my_image

因此,我可以将原始jpg文件替换为png文件,例如:
C:\ xampp \ htdocs \ my_projects \ my_image.png

并且,在编辑了负责生成“ localhost / my_projects / my_image”以指向png图像而不是jpg图像的文件之后,我仍然可以使用与以前相同的链接,这次获得png图像:< br /> 本地主机/ my_projects / my_image

对我来说重要的是: enter image description here

希望这会使我的问题更清楚。

2 个答案:

答案 0 :(得分:0)

如果您知道文件的目录或位置。

您可以使用扩展名获取文件名。您无需在前端提供文件名。

$directory = 'folder';
if($handle = opendir($directory.'/')){
    echo 'looking inside \''.$directory.'\':<br>';
    while($file = readdir($handle)){
       if($file!='.'&&$file!='..'){
          echo '<a href="'.$directory.'/'.$file.'">'.$file.'</a><br>';
       }
    }
}

列出或下载它们。

答案 1 :(得分:0)

您需要重写规则。

在目录中创建一个.htaccess文件。

然后在您的.htaccess文件中添加以下代码:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.png-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1\.png

RewriteCond %{REQUEST_FILENAME}.jpg-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1\.jpg

RewriteCond %{REQUEST_FILENAME}.gif-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1\.gif

我希望这会有所帮助。