在地址栏中使用变量来显示图像


Using a variable in the address bar to display an image?

我有一个小问题,我似乎不太明白。我想做的是,当有人"http://domain.com/directory/ImgVariableHere",它将显示在php页面上的图像。我知道我可能用了完全错误的方法,这就是我来这里的原因。我是PHP的新手,所以请原谅我。这是我的代码。

<?php
$img="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo "<img src='"$img.png'">'n";
?>

这是它回显的代码。

<img src="http://domain.com/directory/.png">

我可能解释得很糟糕,问任何你需要的问题。谢谢。如果你有一个完全不同的更好的方法,请告诉我。

编辑:我想做的有点像Gyazo。他们在网页上显示图片,我试着这么做但是在PHP中使用变量,我无法理解

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [PT,L]
</IfModule>

把它放在文档根目录下的。htaccess中,它应该会把所有请求路由到index.php,然后你只需要把上面的脚本放在index.php中,它应该可以工作了

看起来你想要一个RewriteURL里面有一个变量

所以当你需要这个的时候,我们可以创建一个。htaccess,它会为你的变量保留一个位置。示例如下:

RewriteEngine on 
RewriteBase / #Maybe your in a subfolder? Change this to /yoursubfolder/secondsub/...
#Redirect all urls that begin with /image/ to image_shower.php?image=<image value>
RewriteRule image/(.*) image_shower.php?image=$1

将所有以/image/开头的URL重写为image_shower.php,而不显示image_shower.php URL。它还以GET变量的形式发送信息。在PHP中很容易检索到。这样的:

<?php
$img="http://".$_SERVER['HTTP_HOST']. '/' . $_GET['image'];
echo "<img src='"$img.png'">'n";
?>

希望这将帮助你走得更远!