如何在PHP中将图像从域链接到子域?
我的主网站上有一个滑块。我想在移动网站上使用相同的图片,这些图片位于m.mysite.com
我试过跟随代码(我用于当前的滑块):
<?php
$files = glob('images/gallery/*.{jpg,png,gif}', GLOB_BRACE);
foreach($files as $file) {
echo "<div class='slide'><a href=''><img src='" . $file . "' alt='description'></a></div>";
}
?>
什么都没发生。所以我修改了我的代码:
<?php
$files = glob('../images/gallery/*.{jpg,png,gif}', GLOB_BRACE);
foreach($files as $file) {
echo "<div class='slide'><a href=''><img src='" . $file . "' alt='description'></a></div>";
}
?>
这次它有点起作用。它输出:
<div class='slide'><a href=''><img src='../images/gallery/1012081_1501438913448804_6782879489506876198_n.jpg' alt='description'></a></div>
<div class='slide'><a href=''><img src='../images/gallery/10177464_1495074060751956_373648277891171115_n.jpg' alt='description'></a></div>
所有图像都被打破了#34;
当我点击源代码中的img src时,我得到了这个:http://m.example.com/images/gallery/1012081_1501438913448804_6782879489506876198_n.jpg
似乎代码正在查找正确的目录,为每个图像创建一个div,但随后添加了m。到了开头。
如何解决这些图像无法在移动目录中查找的位置?
为简化起见,图片链接应为http://example.com/images/gallery/1012081_1501438913448804_6782879489506876198_n.jpg
谢谢你们。
答案 0 :(得分:0)
我在这里看到两种可能的解决方案:
如果您想从移动子域,网络服务器提供它 需要它在移动网站的webroot内。你可以用符号链接 图像目录到子域,因此它具有相同的路径 域。也许你必须告诉你的网络服务器 符号链接也是。
只需在移动网站上提供主域名中的图片
可能的解决方案可能如下:
<?php
$files = glob('../images/gallery/*.{jpg,png,gif}', GLOB_BRACE);
$domain = "http://www.example.com/"; //your domain
foreach($files as $file) {
$path = ltrim($file, './'); //strip ../ from the beginning of the path
echo "<div class='slide'><a href=''><img src='" . $domain . $path . "' alt='description'></a></div>";
}
附注:在php文件的末尾不要使用?>
,你不需要它。如果你意外地有一个换行符(或者其他什么),它会被打印到浏览器 imedeatly 并导致问题,如果你想要发送标题......