Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP能否回显包含图像或文件的目录的地址?_Php_Image_Directory_Kirby - Fatal编程技术网

PHP能否回显包含图像或文件的目录的地址?

PHP能否回显包含图像或文件的目录的地址?,php,image,directory,kirby,Php,Image,Directory,Kirby,我的问题的简短版本:有没有一种方法可以使用PHP来回显包含图像的目录的URL 长版本:大家好,我正在开发一个简单的CMS(如果相关的话,我会使用Kirby),除了一件事之外,我几乎所有的东西都可以工作。Kirby是一个基于文件的CMS,每个文件夹都有自己的页面。我将其设置为文件夹中的所有图像都自动放置在页面上。这一切都很好,但问题是,我希望在每个项目文件夹中都有一个子文件夹,其中包含更大版本的图像。我不想使用自动缩略图插件,或者lightbox之类的东西。我想手动保存图像的两个版本。我设想的是这

我的问题的简短版本:有没有一种方法可以使用PHP来回显包含图像的目录的URL

长版本:大家好,我正在开发一个简单的CMS(如果相关的话,我会使用Kirby),除了一件事之外,我几乎所有的东西都可以工作。Kirby是一个基于文件的CMS,每个文件夹都有自己的页面。我将其设置为文件夹中的所有图像都自动放置在页面上。这一切都很好,但问题是,我希望在每个项目文件夹中都有一个子文件夹,其中包含更大版本的图像。我不想使用自动缩略图插件,或者lightbox之类的东西。我想手动保存图像的两个版本。我设想的是这样的:点击“缩略图”图像

可以打开更大的图像

website.com/projects/01-test/large/cat-large.jpg)
我希望我能以某种方式使用PHP显示图像目录的完整URL,而不是图像本身的名称。我最接近的方法是使用:

<?php echo $image->url(); ?>

但这给了我,而我只是需要

如果我能以某种方式实现自动化,那么我想我可以做如下事情:

<a href="<?php echo $image->MYSTERY(); ?>/large/<?php echo $image->name(); ?>-large.jpg">

将URL分解为数组并删除最后一个元素<代码>使用explode()-array\u pop()-introde()
如下所示:

$arrayofurl = explode("/", $url);
array_pop($arrayofurl);
$final = implode("/",$arrayofurl);

将URL分解为数组并删除最后一个元素<代码>使用explode()-array\u pop()-introde()如下所示:

$arrayofurl = explode("/", $url);
array_pop($arrayofurl);
$final = implode("/",$arrayofurl);

根据你的问题,我认为
$image->url()
返回完整的图像URL和
$image->name()
返回图像的名称(不带ext),对吗

所以我认为这应该能奏效,不是吗

$urlPath = str_replace($image->name() . '.jpg', '', $image->url());

printf('<a href="%slarge/%s-large.jpg"><img src="%s"/></a>', $urlPath, $image->name(), $image->url());

根据你的问题,我认为
$image->url()
返回完整的图像URL和
$image->name()
返回图像的名称(不带ext),对吗

所以我认为这应该能奏效,不是吗

$urlPath = str_replace($image->name() . '.jpg', '', $image->url());

printf('<a href="%slarge/%s-large.jpg"><img src="%s"/></a>', $urlPath, $image->name(), $image->url());

你可能正在看:


你可能正在看:


这正是我想要的。非常感谢大家!这正是我想要的。非常感谢大家!
<?php echo dirname($image->url()); ?>
echo dirname('http://example.org/path/to/picture.jpg');
// http://example.org/path/to