从域导入图像到子域?

时间:2015-04-21 03:17:14

标签: php image subdomain

如何在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

谢谢你们。

1 个答案:

答案 0 :(得分:0)

我在这里看到两种可能的解决方案:

  1. 如果您想从移动子域,网络服务器提供它 需要它在移动网站的webroot内。你可以用符号链接 图像目录到子域,因此它具有相同的路径 域。也许你必须告诉你的网络服务器 符号链接也是。

  2. 只需在移动网站上提供主域名中的图片

  3. 可能的解决方案可能如下:

    <?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 并导致问题,如果你想要发送标题......